博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象(上)之一
阅读量:6769 次
发布时间:2019-06-26

本文共 3330 字,大约阅读时间需要 11 分钟。

1 面向过程和面向对象

1.1 概述

  • 面向过程和面向对象都是一种思想,面向对象是相对于面向过程而言的。
  • 面向过程,强调的是功能行为,以函数为最小单位,考虑怎么做。
  • 面向对象,将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。

 

  • 面向对象,更加强调运用人类在日常的思维逻辑中采用的思想方法和原则,如抽象、分类、继承、聚合、多态等。

1.2 面向对象的三大特征

  • 封装
  • 继承
  • 多态

1.3 面向对象的思想概述

  • 程序员从面向过程的执行者转化成了面向对象的指挥者。

 

  • 面向对象分析方法分析问题的思路和步骤:
  • ①根据问题需要,选择问题所针对的现实世界中的实体。
  • ②从实体中寻找问题相关的属性和功能,这些属性和功能就形成了概念世界中的类。
  • ③把抽象的实体用计算机语言进行描述,形成计算机世界中类的定义。即借助某种程序语言,把类构造成计算机能够识别和处理的数据结构。
  • ④将类实例化成计算机世界中的对象。对象是计算机世界中解决问题的最终工具。

 

2 类和对象

2.1 类和对象的概念

  • 类是对一类事物的描述,是抽象的、概念上的定义。
  • 对象是实际存在的该类事物的每个个体,因此也称为实例。

 

  • 面向对象程序设计的重点是类的设计。
  • 类的设计,其实就是类的成员的设计。

2.2 java类及类的成员

  • 现实世界的生物体,大到鲸鱼,小到蚂蚁,都是由最基本的细胞构成的。同理,java代码世界是由诸多个不同功能的类构成的。
  • 现实生物世界中的细胞又是有细胞核、细胞质等构成。那么,java中的类class来描述事物也是如此。
  • 常见的类的成员有:
  • ①属性:对应类中的成员变量。
  • ②行为:对应类中的成员方法。

2.3 类和对象的创建

2.3.1 类的创建

  •  格式:
访问修饰符 class 类名{  属性声明;  方法声明;  }
  • 说明:
  • ①修饰符public表示类可以被任意访问。
  • ②类的正文要用{}括起来。

 

  • 示例:
package day06;/** * 人类 */public class Person {    private String name;    private Integer age;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public Integer getAge() {        return age;    }    public void setAge(Integer age) {        this.age = age;    }    @Override    public String toString() {        return "Person{" +                "name='" + name + '\'' +                ", age=" + age +                '}';    }}
View Code

2.3.2 对象的创建

  • 格式:
类名 对象名 = new 类名();使用“对象名.对象成员”的方式访问对象成员(包括属性和方法)

 

  • 示例:
package day06;public class PersonTest {    public static void main(String[] args) {        Person person = new Person();        person.setName("张三");        person.setAge(28);        System.out.println(person);        Person person1 = new Person();        person1.setName("李四");        person1.setAge(27);        System.out.println(person1);    }}
View Code

2.4 类的成员之属性

2.4.1 属性的语法

  • 格式:
修饰符 数据类型 属性名 = 初始化值;
  • 说明:
  • ①修饰符:
    • 常用的权限修饰符:private、缺省、protected、public。
    • 其他修饰符:static、final  
  • ②数据类型:任何基本数据类型或引用数据类型。
  • ③属性名:属于标识符,符合命名规则和规范即可。

 

  • 示例:
package day06;/** * 人类 */public class Person {    /**     * 属性:姓名     */    private String name;    /**     * 属性:年龄     */    private Integer age;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public Integer getAge() {        return age;    }    public void setAge(Integer age) {        this.age = age;    }    @Override    public String toString() {        return "Person{" +                "name='" + name + '\'' +                ", age=" + age +                '}';    }}
View Code

2.4.2 变量的分类:成员变量与局部变量

  • 在方法体外,类体内声明的变量称为成员变量。
  • 在方法体内声明的变量称为局部变量。

  • 注意:成员变量和局部变量的异同。
  • 相同点:都有生命周期。
  • 不同点:局部变量除形参外,均需要显示初始化。

 

  • 成员变量(属性)和局部变量的区别? 

 

2.4.3 对象属性的默认初始化赋值

  • 当一个对象被创建时,会对其中各种类型的成员变量自动进行初始化赋值。除了基本数据类型之外的变量类型都是引用数据类型。

 

2.5 类的成员之方法

2.5.1 什么是方法(method、函数)

  • 方法是类或对象行为特征的抽象,用来完成某个功能操作。在某些语言中也称为函数或过程。
  • 将功能封装为方法的目的是,可以实现代码重用,简化代码。
  • java里的方法不能独立存在,所有的方法必须定义在类里面。

2.5.2 方法的语法

  • 格式:
访问修饰符 返回值类型 方法名(参数类型 形参1,参数类型 形参2,……){    //方法体;   //return 返回值; return;}
  • 说明:
  • ①访问修饰符:private、缺省、protected、public。
  • ②返回值类型:
    • 没有返回值:void。
    • 有返回值:和方法体中的"return 返回值"搭配使用。  
  • ③方法名:属于标识符,命名的时候遵循标识符命名规则和规范,见名知意。
  • ④形参列表:可以包含零个、一个或多个参数。多个参数的时候,中间使用“,”隔开。
  • ⑤返回值:方法在执行完毕后返还给调用它的程序的数据。

2.5.3 方法的分类:按照是否有形参和返回值

2.5.4 方法的注意事项

  • 方法被调用一次,就会执行一次。
  • 没有具体返回值的情况,返回值类型用关键字void表示,那么方法体可以不使用return语句。如果要使用,仅仅用来结束方法。
  • 定义方法的时候,方法的结果应该返回给调用者,交由调用者自己处理。
  • 方法中只能调用属性或方法,不可以在方法内部定义方法。

 

转载于:https://www.cnblogs.com/xuweiweiwoaini/p/10807100.html

你可能感兴趣的文章
06-课堂问题总结归纳
查看>>
1009. 说反话 (20)
查看>>
css之position相对定位和绝对定位
查看>>
CSS - 盒子模型(下)
查看>>
Java温故而知新(7)Object类及其方法讲解
查看>>
在linux下PHP和Mysql环境搞事情
查看>>
bzoj2287【POJ Challenge】消失之物*
查看>>
字符串加密
查看>>
存储的瓶颈(5)
查看>>
nio原理/netty简单应用
查看>>
Vue.js 系列教程 1:渲染,指令,事件
查看>>
mysql 使用 FIND_IN_SET 来查询数据
查看>>
设置鼠标悬停图片放大效果
查看>>
要做个P2P应用,先收集点相关基于UDP可靠传输的资料
查看>>
jps & ps
查看>>
dtoj#4212. 小X爱旅行(travel)
查看>>
makefile学习笔记
查看>>
EF--DB First
查看>>
[你必须知道的.NET] 品味类型---从通用类型系统开始
查看>>
Computer Science - CS:APP - 2.1 信息存储
查看>>