面向对象
来源:互联网 发布:软件开发职位 编辑:程序博客网 时间:2024/06/16 00:37
面向对象
一、什么是面向对象
* 面向对象的定义:
- 在程序中使用对象来映射现实中的事物,使用对象的关系来描述事物之间的 联系,这种思想就是面向对象。
* 对象:
- 在现实生活中存在的具体的一个事物。
* 类:
- 实际就是对某种类型事物的公共属性与行为的抽取。(类是一个抽象的概念,就相当 于图纸)
* 对象与类的关系:
- 类时对象的模板 - 汽车图纸
- 对象是类的实例 - 各种汽车
* 面向对象的核心思想:
- 找适合的对象做适合的事。
* 面向对象的三大特征:
- 1. 封装
- 2. 继承
- 3. 多态
* 找对象方式:
- 方式一 : sun 给我们定义好了很多的类,我们只需要认识这些类即可创建对象为我 们使用。
- 方式二 : 我们要自定义类, 然后通过自定义的类创建对象为我们服务。
二、如何自定义类创建对象
* 1. 自定义一个类
格式:
class 类名 {
事物公共的属性使用成员变量描述;
事物的公共行为使用函数描述;
}
- 通过自定义的类创建对象
格式:
类名 变量名 = new 类名();
- 通过自定义的类创建对象
- 对象成员的调用(调用对象的方法或者访问对象的属性)
- 成员变量(访问对象的属性)
对象.属性名; - 成员方法(调用对象的功能)
对象.函数名();
三、局部变量和成员变量
- 成员变量: 定义在方法之外,类之内
- 注意:成员位置只能用于定义函数或者是定义一个变量,不能写任何的执行语句
- 局部变量: 定义在方法之内
- 成员变量与局部变量的区别:
- 应用范围
- 成员变量在整个类内都有效
- 2.局部变量只在其声明的方法内有效
- 生命周期
- 成员变量:它属于对象,它随着对象的创建而创建,随着对象的消失而消失
- 2.局部变量:使用完马上释放空间
- 存储位置
- 1.成员变量属于对象,它存储在堆内,堆内的实体,当没有引用指向其时,才垃 圾回收清理
- 2.局部变量存在栈内存中,当不在使用时,马上就会被释放
- 初始值
- 1.成员变量它存储在堆中,如果没有赋初值,它有默认值
- 整数byte、short、int、long = 0 ;
- char = ‘\uoooo’;
- boolean = false;
- String = null;
- 类类型 = null;
- 数组 = null;
- 局部变量,如果要想使用必须手动初始化
- 方法中,参数列表中,语句中
- 必须给初始化值,没有初始值,不能使用
- 在栈内存中
- 五、封装
- 封装的定义:
隐藏对象的属性与具体的实现细节, 对外提供公共的访问方式。
封装的原因:
- 出现了数据安全问题
- 根本原因:别人可以对对象的属性进行直接的赋值,赋值之前没有经过任何的判 断。
访问权限修饰符:
访问权限修饰符也就是控制类、属性、 方法的可见范围的。
private: 私有的,如果使用了private修饰的函数或者是属性(成员变量),那么被修 饰的成员只能在本类中可见。
public :公共的,任何人都可以进行访问。
封装的步骤:
使用private修饰需要被封装的属性,把属性给隐藏起来。(使用private修饰成员 变量)
- 对外提供公共的访问方式。(设置、获取)
命名规范:
set属性名
get属性名
- 疑问1: 封装都需要提供get与set方法才称作为封装吗?
不一定,看需求而定。
- 疑问2: 对外提供的设置以及获取属性的方法名一定要叫get、set吗?
不一定,只不过是一个命名规范。
在现实开发中的规范: 一般实体类的所有成员变量都会封装起来。
类:
工具类 : Arrays(数组的工具类), 主要是提供一个方法对外进行访问,方便用户 操作数据。
实体类: 描述一类事物的公共属性与公共行为的, 比如: 人类、 汽车类…
封装的好处:
- 提高了数据的安全性。
- 提高代码的复用性。
- 隐藏了具体的实现, 操作简单了。
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 文本挖掘之文本分类
- ECharts官方教程(七)【移动端自适应】
- bootstrap使用
- 设计模式之工厂模式
- java面试总结,非常值得一看
- 面向对象
- 最新automake使用方法
- 图灵机概念
- (一)设计模式--单例模式
- 代理模式--静态代理
- 计算机科学与Python编程导论_MIT 学习笔记(六)
- No compiler is provided in this environment
- 统计N!末位0的数量的一个思路
- python2.7学习笔记(一)数据类型及基础