黑马程序员技术交流社区

标题: 基础实验班结束了,看我总结的面向对象细节部分吧 [打印本页]

作者: happyli52    时间: 2016-1-7 21:55
标题: 基础实验班结束了,看我总结的面向对象细节部分吧
1.   面向对象的基本概念1). 面相对象 (OOP) 和面向过程(OPP) 的关系
(1). 面相对象是把以前需要逐个执行动作全部封装起来
(2). 面向对象基于面向过程的!!!!!
2). 面向对象的三大特征
封装、继承和多态
3). 类和对象
(1).基本概念
[1]. 是对现实生活中事物的描述
[2]. 对象是这类事物实实在在的一个个体
[3]. 类和对象在Java中的体现
       {1}.Java描述事物就是用class来定义类
       {2}.Java中产生一个类的实体就是用new来创建类的对象
[4]. 描述事物和Java中类的关系
       {1}.描述事物就是在描述事物的属性行为
       {2}.定义类就是在描述事物,就是在定义事物的属性行为
(2). 类的成员
类中的属性和行为共同组成了类中的成员
(3). 局部变量和成员变量的区别
从内存中的位置和作用范围两个方面来考虑
[1]. 内存中的位置:成员变量位于内存中 (因为对象是存储在堆内存中的)
                              局部变量位于内存中
[2]. 作用范围:成员变量作用于整个类             局部变量作用于函数体或者局部代码块
4). 匿名对象
(1). 匿名对象与普通对象的关系
[1]. 对象可以有名字,也可以没有名字。没有对象名的对象就是匿名对象。
[2]. 匿名对象是普通对象的简化形式。
(2). 匿名对象对属性和方法的调用
[1]. 匿名对象直接调用属性是没有意义的!!
原因就是匿名对象没有名字,也就是没有引用变量在栈内存中直接指向堆内存中的匿名对象。因此 new Car(). num =5; 执行完之后,匿名对象就变成了垃圾,会被回收掉。那么对其属性的读写操作也就没有什么意义了。
[2]. 匿名对象直接调用方法有意义的!!
(3). 匿名对象的适用范围
[1]. 当对象的方法仅被调用一次的时候,可以使用匿名对象来简化书写。
匿名对象弊端:但是如果对一个对象的多个成员进行调用的时候,匿名对象失去作用。
[2]. 可以将匿名对象作为实参进行参数传递。
注意:当这个被调用的方法接受一个匿名对象并且执行完毕之后,这个堆内存中的匿名对象就变成了垃圾对象。
5). 封装
(1). 含义
[1]. 是指隐藏对象的属性实现细节,仅仅对外提供公共访问接口。
[2]. 对外提供公共访问接口的原因就是:在访问方式中加入逻辑判断语句
(2). 封装和私有的关系
[1]. 私有仅仅为封装的一种表现形式
[2]. 不私有同样也能实现封装。只要权限在你访问不到的权限的范围内,对你来说就是封装。
(3). 封装的原则
[1]. 将不需要对外提供访问的内容隐藏起来
[2]. 把属性都隐藏,提供公共方法对属性进行带有逻辑判断的访问。




作者: 许飞丶勿忘初心    时间: 2016-1-7 21:58
加油,很不错!
作者: cuixinfu    时间: 2016-1-7 21:58
总结的不错! 加油兄弟
作者: liyongyong    时间: 2016-1-7 22:08
6666狠食用
作者: to_love    时间: 2016-1-8 21:46
总结的很详细,加油~~~
作者: cai602098596    时间: 2016-1-8 21:50
总结的不错  看好你

作者: 小新没蜡笔    时间: 2016-1-8 22:03
youyongdezhishi xiexiele
作者: zhaokai19    时间: 2016-1-8 23:02
这些都是对象的考点,不错,分析的很到位啊
作者: 小五哥    时间: 2016-1-8 23:35
总结得不错
作者: wocan23    时间: 2016-1-9 05:44
有的地方不太准确,http://gao-xianglong.iteye.com/blog/2152345
作者: happyli53    时间: 2016-1-9 12:19
坚持到无能为力,努力到感动自己!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2