类,对象,封装
面向对象
类:
* 是一组具有相同属性和行为的事物的集合,本质还是一种数据类型,类是抽象的
* 属性: 事物的静态的特征, (成员变量)
* 行为: 事物的动态的特征(方法,动作)
* 人:
* 属性:身高 肤色 年龄
* 行为:吃饭 睡觉 学习
对象:
* 对象是真实存在的实体,对象是具体的,是类的具体体现(对象就是类的举例)
面向过程:C语言,以方法为中心,主要是方法之间的调用
面向对象:更符合人类的思维习惯,以对象为中心,主要是对象之间的调用
创建和引用对象![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/17dea31017b239be333d8fefb86964d2.png)
封装:
概念
在面向对象程序设计方法中,封装是指一种将抽象性函数式接口的实现细节部份包装、隐藏起来的方法。
封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。
要访问该类的代码和数据,必须通过严格的接口控制
封装:是面向对象的三大特征之一,
隐藏对象的属性和实现细: 将我们的成员变量私有化,修饰符为private
*仅对外提供公共访问和修改方式: 给我们的成员变量提供公共访问方式,getXXX() setXXX()
* set属性(): 用来设置属性值的方法
* get属性(): 用来获取属性值的方法
作用
封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。
适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。
优点
1.减少耦合
良好的封装能够减少耦合,提高系统独立性
2.可重用性
封装重复代码,提高软件的可重用性
3.精确控制
可以对成员变量进行更精确的控制
4.安全性
隐藏信息,实现细节,降低了构建大型系统的风险
补充:
既然封装是面向对象的三大特征之一,那么我们在使用的时候,就应该遵循一些规则(我们以后在写成员变量的时候,都要私有化,提供公共访问方式)
封装使用的步骤:
* 1 成员变量私有化 private
* 2 提供公共访问方式 getXXX() setXXX()
访问修饰符:
* 1 private: 私有的,只能在本类中访问
* 2 default: 默认的,只能在本包中访问 (同一个文件夹中)
* 3 protected: 受保护的,只能在本包中访问,子类可以访问
* 4 public: 公共的,都可以访问
* 包: 本质就是一个文件夹,用来管理我们的类的,我们的类都要放在包中。我们某些相同功能的类,可以放在同一个包中
* 包名: 一般都是我们公司的域名倒着写 //
非访问修饰符:
* static: 静态的,修饰成员变量和成员方法的。static修饰的成员变量和成员方法,不能直接调用非静态的成员变量和成员方法
* final: 最终的,修饰类,修饰成员变量,修饰成员方法
* 修饰类: 不能被继承
* 修饰成员变量: 不能被修改,赋值一次
* 修饰成员方法: 不能被重写