3.1 面向对象概念 解决现实生活中问题的处理思想和思维模式 思想和角色的转变,研究真实存在的具体事物,事物就看成对象 面向对象设计把握的一个重要经验:谁拥有数据,谁就对外提供操作这些数据的方法. 3.1.1理解面向对象 1) 面向对象是相对面向过程而言 2) 面向对象和面向过程都是一种思想 3) 面向对象是基于面向过程 面向对象和面向过程区别: 面向过程强调的是功能行为 面向对象是将功能封装进对象,强调具备了功能的对象 3.1.2面向对象的特点: 1) 是一种符合人们思考习惯的思想 2) 可以将复杂的事情简单化 3) 将程序员从执行者转换成了指挥者 4) 完成需求时: *先要去找具有所需的功能的对象来用 *如果该对象不存在,那么创建一个具有所需功能的对象 *这样简化开发并提高复用 3.1.3面向对象开发,设计,特征 开发的过程:其实就是不断的创建对象,使用对象,指挥对象做事情. 设计的过程:其实就是在管理和维护对象之间的关系 面向对象的三大特征: 1)封装(encapsulation) 2)继承(inheritance) 3)多态(ploymorphosm) 3.2 类与对象的关系 3.2.1类的定义: 生活中描述事物无非就是描述事物的属性和行为 java中用类class来描述事物也是如此 1)属性:对应类中的成员变量 2)行为:对应类中的成员函数 定义类其实在定义类中的成员(成员变量和成员函数) 类是java语言用来面熟现实中存在的具体事物 例如:描述人(class Person),描述车(class Car) 3.2.2对象的定义 对象就是现实中确实存在的那个具体的事物 类是描述对象,对象是现实中的具体事物 类和对象的关系: 1)类看做生产图纸 2)对象看做根据图纸生产出存在的产品 3.2.3成员变量(全局变量)和局部变量的区别 1)作用范围 成员变量:定义在类中,作用于整个类 局部变量:只在它所属的局部大括号中有效 2) 存储情况 成员变量:存储在堆内存中.随着对象的存在而存在,当对象变成垃圾回收时,该对象 中的成员变量会消失 局部变量:存储在栈内存中,当方法被调用或者语句被执行的时候,才存在 当方法运行完毕或者语句运行完毕时,局部变量会自动释放 3) 初始化情况 成员变量:在堆内存中有默认初始化值 局部变量:必须手动初始化后才可以被使用 3.2.4成员变量和局部变量内存图 3.2.5创建对象,使用对象 class Car//对Car这类事物进行描述 { String color = "red"; int num = 4; void show() { System.out.println("color="+color+"..num="+num); } } class CarDemo { public static void main(String[] args) { Carc = new Car();//建立对象 c.color= "black";//对对象的属性进行修改 c.show();//使用对象的功能。 } } 3.2.6对象内存结构 Car c1 = new Car();c1.color="blue"; Car c2 = new Car(); 3.2.7 匿名对象 匿名对象是对象的简化形式 匿名对象使用时需要注意的两种情况 1) 当对对象方法仅进行一次调用的时候 2)匿名对象可以作为实际参数进行传递
|