在开始今天的学习之前,我们先来思考一个问题,什么是类呢?
不知道类就赶紧加班+++++
类其实是个模板,是一个具有共同特点的集合。比如说饮料:都有包装,都有颜色,都有味道,都是被喝的东西。这些东西都是抽象出来的属性和行为。
类是由抽象出的属性和行为组成的对一种实物的描述实物的属性是类的成员变量,实物的行为是类的方法。
什么是对象
现实世界中任何物体都能被当作是对象,不过在正常开发的时候通常只是在一定的范围去考虑和认识与系统相关的事物并用系统中对象抽象的表示他们。
类和对象的关系
类是物体属性和行为的模板
对象是物体的具体实现
一.封装的概念
在面向对象程式设计方法中,封装是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。
封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。
要访问该类的代码和数据,必须通过严格的接口控制。
二.封装的作用
封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。
适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。
三.封装的优点
1.减少耦合:良好的封装能够减少耦合,提高系统独立性
2.可重用性:封装重复代码,提高软件的可重用性
3.精确控制:可以对成员变量进行更精确的控制
4.安全性:隐藏信息,实现细节,降低了构建大型系统的风险
四.实现封装的步骤
1.修改属性的可见性来限制对属性的访问
2.创建一对取赋对每个值属性提供对外访问的方法值方法
3.实现封装,封装实例
五.修饰符
1.访问修饰符
●default:(什么也不写):在同一个包内可见,不使用任何修饰符,使用对象:类,接口,变量,方法.
●private:在同一类内可见,使用对象:变量,方法. ★不能用来修饰类(外部类)
●public:对所有类可见,使用对象:类,接口,对象方法,变量
●protected:对同一包内的类和所有子类可见,使用对象:变量,方法,不能修饰类,外部类
2.非访问修饰符
●static:静态的,用来修饰方法和类变量
●final:最终的,最后的,用来修饰类方法和变量
●abstract:修饰符,用来创建抽象类和抽象方法
●synchronized:修饰符,主要用于线程的编程 synchronized 关键字声明的方法同一时间只能被一个线程访synchronized 修饰符可以应用于四个访问修饰符
●volatile:修饰符 volatie 修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值。而且,当成员变量发生变化时,会强制线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值