黑马程序员————Java面向对象
2015-12-08 13:03
218 查看
面向对象是基于面向过程.什么叫面向过程呢,强调的是步骤,面向过程就好比洗衣服,你先放洗衣粉,再放水,再搓,换水等一系列的操作,而面向对象以对象为基础,它强调的是这个对象可以完成什么功能, 在洗衣服这件事情上,就容易多,调用这个洗衣机这个对象就可以帮我完成,这就是面向对象, 在这洗衣服的这件事情上,体现了面向对象的三个思想特点,
1,更符合人们的思维习惯,
2,把复杂的事件简单化
3.让程序员从执行者变为了指挥者
[b]面向对象特性之封装[/b]
封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。(加密的数据库,文档案,我们不能直接访问,只能通过公共的访问方式(数据库的工作人员或者说账号密码.
或者说是论坛上面的回复可见(只有登录,账号密码就是我们的访问方法).))
好处:
A:隐藏实现细节,提供公共的访问方式
B:提高代码的复用性
C:提高代码的安全性
D:便于使用
F:将变化隔离
private:
是一个权限修饰符
可以修饰成员变量和成员方法
被其修饰的成员只能在本类中被访问
封装和private的应用:
A:把成员变量用private修饰
B:提供对应的getXxx()和setXxx()方法
[b] 面向对象特性之继承[/b]
继 承(面向对象特征之一)
把多个类中相同的内容给提取出来定义到一个类中
举例(生孩子,父亲有的,儿子也有,有点像遗传的味道)
好处:
1:提高了代码的复用性。
2:让类与类之间产生了关系,提供了另一个特征多态的前提。
父类的由来:其实是由多个类不断向上抽取共性内容而来的
特点:
java的类只支持单继承,不支持多继承(多继承,调用不明确)
支持多层继承(继承体系)
[b]面向对象特性之多态[/b]
多态意味着一个对象有着多种形态,可以在特定的情况下,表现不同的状态,从而对应不同属性和方法,简单的说,多态就是使用父类类型的变量引用子类对象,根据被引用子类对象的特征,程序会得到不同的运行效果
多态的前提:
A:要有继承关系(或者实现关系)
B:要有方法重写(子类重写父类的方法)
C:要有父类引用指向子类对象
多态的前提: 1:必须要有关系,比如继承、或者实现。 2:通常会有覆盖操作。
体现:父类引用或者接口的引用指向了自己的子类对象。//Animal a = new Cat();
多态的好处:提高了程序的扩展性。
多态的弊端:当父类引用指向子类对象时,虽然提高了扩展性,但是只能访问父类中具备的方法,不可以访问子类中特有的方法。(前期不能使用后期产生的功能,即访问的局限性)
1,更符合人们的思维习惯,
2,把复杂的事件简单化
3.让程序员从执行者变为了指挥者
[b]面向对象特性之封装[/b]
封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。(加密的数据库,文档案,我们不能直接访问,只能通过公共的访问方式(数据库的工作人员或者说账号密码.
或者说是论坛上面的回复可见(只有登录,账号密码就是我们的访问方法).))
好处:
A:隐藏实现细节,提供公共的访问方式
B:提高代码的复用性
C:提高代码的安全性
D:便于使用
F:将变化隔离
private:
是一个权限修饰符
可以修饰成员变量和成员方法
被其修饰的成员只能在本类中被访问
封装和private的应用:
A:把成员变量用private修饰
B:提供对应的getXxx()和setXxx()方法
[b] 面向对象特性之继承[/b]
继 承(面向对象特征之一)
把多个类中相同的内容给提取出来定义到一个类中
举例(生孩子,父亲有的,儿子也有,有点像遗传的味道)
好处:
1:提高了代码的复用性。
2:让类与类之间产生了关系,提供了另一个特征多态的前提。
父类的由来:其实是由多个类不断向上抽取共性内容而来的
特点:
java的类只支持单继承,不支持多继承(多继承,调用不明确)
支持多层继承(继承体系)
[b]面向对象特性之多态[/b]
多态意味着一个对象有着多种形态,可以在特定的情况下,表现不同的状态,从而对应不同属性和方法,简单的说,多态就是使用父类类型的变量引用子类对象,根据被引用子类对象的特征,程序会得到不同的运行效果
多态的前提:
A:要有继承关系(或者实现关系)
B:要有方法重写(子类重写父类的方法)
C:要有父类引用指向子类对象
多态的前提: 1:必须要有关系,比如继承、或者实现。 2:通常会有覆盖操作。
体现:父类引用或者接口的引用指向了自己的子类对象。//Animal a = new Cat();
多态的好处:提高了程序的扩展性。
多态的弊端:当父类引用指向子类对象时,虽然提高了扩展性,但是只能访问父类中具备的方法,不可以访问子类中特有的方法。(前期不能使用后期产生的功能,即访问的局限性)
相关文章推荐
- 黑马程序员————————Java数组
- 黑马程序员————集合之概念(一)
- 黑马程序员————Java运算符
- 黑马程序员——封装、继承、多态
- Java线程面试题 Top 50
- 黑马程序员——————进制的转换和数据类型
- 黑马程序员——Java重点基础之多线程(一)
- 论程序员的自我修养
- 程序员做业余项目的重要性
- 为什么程序员的业余项目大多都死了?
- 面试算法——4.栈的反转
- 面试算法——6.Mingo Game
- 传智播客展望2016年大学毕业生求职现状
- 黑马程序员——Java重点基础之IO流(三)
- Java 程序员们值得一看的好书推荐[转载]
- 面试最后如何向面试官发问?
- <黑马程序员> 第九篇:反射
- 黑马程序员-C学习日记-数组
- 如何让你的程序员不要厌倦工作?
- 一位求职者发来的感谢信