面向对象开发:
面向过程开发:
在实现 某个功能的时候,注重的是步骤,每一个步骤都 是自己亲力亲为。
面向对象开发:
在实现某个功能的时候, 不注重过程与步骤,只要结,不是亲力亲为,而是找有个帮助的人去做
面向对象开发 与 面向过程开发都不可以少 相辅相成
面向对象开发的好处:
1符合我们常规的方式 ,把复杂的问题简单化
2.由执行者变成了指挥者
3.便于代码的扩展,与维护.
面向对象的三大特征:
封装 继承 多态
类与对象:
1.类 是抽象的: 用于描述一个一类事物
成员属性 是什么 (年龄 性别 姓名) 名词
成员方法 能够做什么(打老师 一起吃猪脚饭, 学习) 动词
2.对象 : 是具体的表现形式 具体定义到某个人的女朋友
类与对象的关系 : 类是对象的抽象(图纸) 对象是类的具体(房子)
如何定义一个类 : 找其属下与方法 写一个学生类
内存:
1.以引用数据类型作为返回值 ==》 传递的都是内存地址
2. 以应用数据类型作为参数
匿名对象:
一次性对象,没有名字的对象 new Student()
特点 : 1.不会 在 栈内存里有地址 , 但是会在堆内存里去开辟空间.
2. 这个一次性的对象用完就马上销毁, 所有 节省内存空间
使用情况 (1)一般是与作为方法的参数使用 getStudent(new Student()),
(2) 也就是 直接调用其类里的方法 new Student().study();
匿名对象 给成员变量赋值没有任何意义
局部变量与成员变量的区别 :
局部变量: 方法里的变量 叫做局部变量,包含方法里的参数
成员变量: 类下面的变量叫做什么成员变量
1.位置: 位置不一样 局部变量放在方法里 成员变量在类下面
2.生命周期:(1) 局部变量生命周期随着方法的开始而开始, 随着方法的结束而结束
(2)成员变量的生命周期 随着对象的创建 而开始 ,随着对象的回收而结束 (垃圾回收期)
3.数据存的位置不一样 : 局部变量存在栈里 , 而成员变量 存入在堆了
4.有无默认值:成员变量都有默认值,局部变量没有默认值
私有化:
属性私有化 : 私有的 关键字: private 加上私有的关键字之后, 只能够本类访问
私有化的好处 1.隐藏内部细节, 保护数据的安全, 以及防止数据的错误
2. 提供两个对外的方法, 一个setXXX() 赋值 getXXX() 取值
3. (1)对属性 (2) 对方法 (3)可以对类私有化, 可以对接口私有化
4.私有化 其实就是一种简单的封装。
this:
this 的使用 ==》 本类的对象引用 ==》 也就是谁调用的这个方法, 这个对象就是谁
this. 变量 获取的都是成员变量 this.调用其方法 这个方法肯定是成员方法
在 一个方法里面:如果成员变量与局部变量的名字 是一样的,局部变量的作用域优先于成员变量
封装 :
好处:
1.隐藏内部代码实现的细节
2.可以代码 可重用性,
3. 提高代码的可维护性
抽取出来的方法就是封装 :属性封装,方法封装。