第五章 面向对象(中)
2017-10-29 14:59
148 查看
5.1 面向对象的特征主要有封装、继承、多态;
5.2 封装就是利用抽象数据类型(类)将数据和基于数据的操作绑定在一起,数据被保存在抽象数据类型内部,系统只有通过被授权的操作方法才能够访问数据;
5.3 引用控制对象采用的是发消息的方式,能否发送消息取决于三个条件:
引用必须真实引用了特定的对象
被访问对象必须定义了相应的属性或方法,否则编译不会通过
被访问的属性或方法必须具有可访问的权限
5.4 protected修饰符有什么特点?
当属性和方法的修饰符为protected时,在类定义层面上,访问权限为包中的类和所有的子类,而在对象层面上,则是包中的类。
5.5 Object都有哪些方法?
Object是所有类的共同祖先,即使定义时没有写“extends Object”,也等效于写了,在Object当中定义了许多方法,这些方法都可以被所有的子类继承。
方法名:
Object clone() :将当前对象克隆;
boolean equals(Object obj):判断两个引用是否指向同一对象,其参数不能为基本数据类型;
void finalize():对象被释放时调用;
Class getClass():获得当前对象的类对象;
int hashCode():得到一个代表对象的hashcode整数,这个整数在应用程序运行时保持不变
String toString():得到代表这个对象的字符串;
void notify():应用于线程同步通信中唤醒等待线程;
void wait():应用于线程同步通信中的线程等待;
5.6 重载
代码编写中,重载的多个方法之间往往存在一定的调用关系,即一个方法写有实现功能,其他方法采用委托方式进行调用——体现了程序共享的设计思想。
5.7 覆盖
子类对父类参数相同、返回类型相同的同名方法重新进行定义,这种多态被称为覆盖。
如果子类定义的方法与父类名称相同(大小写完全匹配),但参数名称不同,不是覆盖,而是重载。
5.8 设计用途
封装:
面向对象程序设计之所以能比面向过程设计有较大的影响力,其中的一个关键是具有“高内聚,低耦合”的特点,这个特点就是通过封装与组合技术的综合运用来实现的。封装是利用访问控制符来实现的,而组合则是通过对象内部的属性引用来实现;
继承:
1 继承是面向对象程序设计中对功能进行复用的重要手段
2 继承为引用带来了新特点
多态:
对于能进行消息处理的接口方法,有时既需要对其功能进行复用,同时又需要对其进行扩充,重载正好能满足这种需求;
而方法覆盖于引用替换结合,可使抽象类的声明在保证消息发送统一性的前提下,具有消息结果执行上的相异性特点。
5.2 封装就是利用抽象数据类型(类)将数据和基于数据的操作绑定在一起,数据被保存在抽象数据类型内部,系统只有通过被授权的操作方法才能够访问数据;
5.3 引用控制对象采用的是发消息的方式,能否发送消息取决于三个条件:
引用必须真实引用了特定的对象
被访问对象必须定义了相应的属性或方法,否则编译不会通过
被访问的属性或方法必须具有可访问的权限
5.4 protected修饰符有什么特点?
当属性和方法的修饰符为protected时,在类定义层面上,访问权限为包中的类和所有的子类,而在对象层面上,则是包中的类。
5.5 Object都有哪些方法?
Object是所有类的共同祖先,即使定义时没有写“extends Object”,也等效于写了,在Object当中定义了许多方法,这些方法都可以被所有的子类继承。
方法名:
Object clone() :将当前对象克隆;
boolean equals(Object obj):判断两个引用是否指向同一对象,其参数不能为基本数据类型;
void finalize():对象被释放时调用;
Class getClass():获得当前对象的类对象;
int hashCode():得到一个代表对象的hashcode整数,这个整数在应用程序运行时保持不变
String toString():得到代表这个对象的字符串;
void notify():应用于线程同步通信中唤醒等待线程;
void wait():应用于线程同步通信中的线程等待;
5.6 重载
代码编写中,重载的多个方法之间往往存在一定的调用关系,即一个方法写有实现功能,其他方法采用委托方式进行调用——体现了程序共享的设计思想。
5.7 覆盖
子类对父类参数相同、返回类型相同的同名方法重新进行定义,这种多态被称为覆盖。
如果子类定义的方法与父类名称相同(大小写完全匹配),但参数名称不同,不是覆盖,而是重载。
5.8 设计用途
封装:
面向对象程序设计之所以能比面向过程设计有较大的影响力,其中的一个关键是具有“高内聚,低耦合”的特点,这个特点就是通过封装与组合技术的综合运用来实现的。封装是利用访问控制符来实现的,而组合则是通过对象内部的属性引用来实现;
继承:
1 继承是面向对象程序设计中对功能进行复用的重要手段
2 继承为引用带来了新特点
多态:
对于能进行消息处理的接口方法,有时既需要对其功能进行复用,同时又需要对其进行扩充,重载正好能满足这种需求;
而方法覆盖于引用替换结合,可使抽象类的声明在保证消息发送统一性的前提下,具有消息结果执行上的相异性特点。
相关文章推荐
- 第五章 面向对象的编程风格(面向对象编程概念)
- 第五章 面向对象的编程风格(面向对象的编程思维)
- [疯狂Java讲义精粹] 第五章|面向对象(下)
- 疯狂JAVA——第五章 面向对象(上)
- [李景山php] 深入理解PHP内核[读书笔记]--第五章:类和面向对象 --访问控制的实现
- 第五章 对象和面向对象
- javascript 面向对象精要 第五章 继承
- 第五章 面向对象的编程风格(定义一个抽象基类)
- Java基础知识学习之路-06-第五章-面向对象(上)
- 第五章 面向对象的编程风格(定义一个派生类)
- php面向对象视频笔记之第五章(错误和异常处理)
- 疯狂JAVA讲义---第五章(上):面向对象
- [李景山php] 深入理解PHP内核[读书笔记]--第五章:类和面向对象 --概览
- Java基础知识学习之路-07-第五章-面向对象(下)
- 第五章 面向对象的PHP
- 第五章—面向对象(上)
- 疯狂JAVA讲义---第五章(中)面向对象
- 第五章:面向对象(下)
- Java 讲义 第五章 面向对象(上)
- 第五章:面向对象