面向对象的方法包括:
§ 面向对象的分析(OOA, Object-Oriented Analysis)
§ 面向对象的设计(OOD, Object-Oriented Design)
§ 面向对象的程序设计(OOP, Object-Oriented Program)
面向对象技术主要围绕以下几个概念:
对象、抽象数据类型、类、类型层次(子类)、继承性、多态性。
q面向对象程序设计方法的优点
ü可重用性
ü可扩展性
ü可管理性
qOOP的四个基本机制
ü抽象
ü封装
ü继承与派生
ü
OOq封装的基本要求:
ü有一个特定的边界:所有的内部变化都限制在此边界内(类定义的{ });
ü有外部接口:此对象利用它与其它对象发生关联(public成员);
ü有特定的访问权限:在对象外部不能访问或修改受保护的内部实现细节(private成员)
•封装:隐藏实现细节
•(将类里的属性和行为结合起来的一种机制,就叫做封装,目的是防止类的属性和行为被外部访问)
•继承:由已有类创建新类的一种机制,就叫做继承,目的是实现软件可重用的重要方式
•
(1)对象的生成
通过new操作符生成一个对象;例如:
People p1;
p1=new People();
(2)对象的构造过程
ü 为对象开辟空间;
ü 调用构造方法;
ü 返回对象的引用。
•关于方法的参数传递
o当参数分别是对象的引用、字符串和数组的引用时的情况
o基本数据类型: 传递的是基本数据 类型自己的值
o应用数据类型:传递的是引用数据类型的地址
q构造方法和析构方法(system.gc()显示调用析构方法)
q方法的重载
qthis引用(为了避免成员变量和局部变量冲突)和instanceof对象运算符
qThis的三个作用:1:指代对象本身
q 2:访问当前对象的成员
q 3:调用本类中其他重载的构造 函数
q类及其成员的访问权限
q实例成员与类成员
•方法的重载
–带有不同参数列表的同名方法
•重载的条件
–1。方法名相同
–2。参数列表必须不同,即以不同的参数个数、类型、次序来区别重载方法
–3。返回值不能区别重载的方法
•拷贝构造方法
–由同一个类的已知对象创建新对象的构造方法
–
•this 指代调用本方法的当前对象本身。this三种用法
–指代对象本身
–访问当前对象的成员
–调用本类的其他重载的构造方法
•实例成员变量和类成员变量
–存储结构的差别
Ø实例变量每次创建对象时才被分配空间
Ø类变量当类被加载时就分配空间
Ø类何时被加载?
ØJAVA中的代码执行的时候,类被加载
–访问方式的差别
Ø实例变量必须通过对象访问
Ø类变量不需要(可以通过对象访问,也可以通过类名直接访问)
q重载的条件和编译时多态性
q条件:在同一个类中,方法名相同,但是参数个数或类型不同(方法的返回值不能构成重载的条件)
q重载是编译时多态
q覆盖和运行时多态性
q条件:在子类中,定义与父类同名的方法,且参数列表和返回值类型完全相同
q覆盖时运行时多态