黑马程序员技术交流社区
标题:
面向对象小结
[打印本页]
作者:
等你的季节-夏天
时间:
2015-6-30 22:15
标题:
面向对象小结
类与对象概述:
* A:我们学习编程是为了什么
* 为了把我们日常生活中实物用学习语言描述出来
* B:我们如何描述现实世界事物
* 属性 就是该事物的描述信息(事物身上的名词)
* 行为 就是该事物能够做什么(事物身上的动词)
* C:Java中最基本的单位是类,Java中用class描述事物也是如此
* 成员变量 就是事物的属性
* 成员方法 就是事物的行为
* D:定义类其实就是定义类的成员(成员变量和成员方法)
* a:成员变量
* b:成员方法
* E:类和对象的概念
* a:类:是一组相关的属性和行为的集合
* b:对象:是该类事物的具体体现
面向对象开发,设计以及特征:
* A:面向对象开发
* 就是不断的创建对象,使用对象,指挥对象做事情。
* B:面向对象设计
* 其实就是在管理和维护对象之间的关系。
* C:面向对象特征
* 封装(encapsulation)
* 继承(inheritance)
* 多态(polymorphism)
封装:
* A:封装概述
* 是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
* B:封装好处
* 隐藏实现细节,提供公共的访问方式
* 提高了代码的复用性
* 提高安全性。
* C:封装原则
* 将不需要对外提供的内容都隐藏起来。
* 把属性隐藏,提供公共方法对其访问。
继承:
* A:概述
* 多个类中的有相同的成员,将他们的共性抽取到一个单独类中,那么多个类中无需在定义成员,可以直接继承那个单独类.
* B:由来
* 共性的抽取;
* C:好处
代码少;
继承的出现使类与类之间产生了关系,导致了(OOP)面向对象的第3个特征多态的诞生;
提高了维护性;
* D:特点
* 支持单继承,一个类,只能直接继承一个类,不允许同时继承多个类;
* 不支持多继承;
* 但是支持多层继承,多重继承;
* E:继承后子类父类中构造方法的特点
* 子类中,构造方法 第一行有一个隐式代码 super()不写有;//super()-调用父类空参数构造方法
* 如果子类中,没有定义过构造方法,编译的时候 自动添加super();
* 子类中,无论重载多少构造方法,第一行都是super();
* 当父类中没有空参构造方法的时候,子类构造方法必须手动写super否则编译失败;
多态
* A:多态概述
* 事物存在的多种形态
* B:多态前提
* a:要有继承关系。
* b:要有方法重写。
* c:要有父类引用指向子类对象。
* A:多态中的成员访问特点
* a:成员变量
* 编译看左边,运行看左边。
* b:成员方法
* 编译看左边,运行看右边。
* c:静态方法
* 编译看左边,运行看左边。
* (静态和类相关,算不上重写,所以,访问还是左边的)
* D:多态的好处
* a:提高了代码的维护性(继承保证)
* b:提高了代码的扩展性(由多态保证)
* E:多态的弊端
* 不能使用子类的特有功能。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2