------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
1. 今天学习内容,什么是面向对象思想,类和对象,对象的内存图,成员变量和局部变量区别,匿名对象,封装。
2. 什么是面向对象
OOP Oriented ObjectProgramming 面向对象的程序设计。
概念:一种思想,思维方式,由面向过程演化过来,人们解决问题的思想发生了变化,由原来的执行者,变成了指挥者。
3. 生活中的具体的面向对象的事例
洗衣服,面向对象(洗衣机),指挥对象完成洗衣功能,开门,衣服放进去
功能:买个笔记本,找一个懂的人,帮我买,人,具备买电脑的方法(功能)
4. 面向对象三大特征
封装 继承 多态
日后学习,开发,三大特征体现出来。
就是在不端的创建对象,使用对象,维护对象和对象之间的关系
需要完成一个功能,找有没有具备这个功能的对象,如果有,拿来使用
如果没有,自己写一个对象,拿来用
5. 类和对象
l 类:计算机的语言,描述现实中的事物(抽象描述)。
类来描述人,姓名,年龄,身高,吃喝
l 对象:确实存在的个体
l 之间的关系,类,图纸,对象按照图纸生产的产品
车:外形,机器,座椅--图纸,类
车:白色,汽油,皮子,VIN,对象
对象,是由类产生出来的
6. 定义类,使用计算机的语言,描述现实中的事物
描述人,姓名,年龄 特性属性 -- 类中的成员变量,直接写类中
说话的功能 -- 类中的方法
创建对象,让这个具体的人存在:创建对象的标准格式必会:
类名 变量 = new 类(); //new 人的对象
7. 成员变量和局部变量的区别
l 定义位置上看
成员定义在类中,局部定义在方法中,或者语句中
l 内存的存储
成员变量跟随对象在堆中存储
局部变量跟着方法在栈内存存储
l 生命周期
成员变量堆内存存储,声明周期较长
局部变量栈内存存储,使用完毕后就消失,声明周期较短
l 作用范围
成员变量作用范围是整个类,最大
局部变量,只在方法,语句中有效,最小
l 初始化赋值
成员变量堆内存,有默认值
局部变量栈内存,必须手动赋值
8. 匿名对象
对象没有名字,一次使用
没有名字,没有具体的引用变量的指向
写出来,知道这是匿名对象
方法中,将对象的地址进行了专递
9. 封装
隐藏实现细节,对外提供公共访问方式
生活中的封装:电视遥控器,控制声音,是电视机内部完成的一个功能,看电视的人来说不知道,隐藏起来
看电视的人,提供一个公共访问方式,就是遥控器
好处:隔离变化,提高安全性,重用性,方便使用
10. private关键字
私有,修饰符,修饰成员,不能修饰局部
私有是封装的一种体现形式,不完全代表封装
被私有修饰的成员变量,或者是成员方法,只能在本类中使用
private修饰了一个变量age,外面的类,不能使用
提供了方法,间接的访问到age变量
以后程序中,类中的所有成员变量,要求私有修饰