面向对象的特征(一)
1、封装
-
使用封装的原因:在给类中的属性赋值时,需要通过封装来确保值的合理性。
-
封装:酱类的实现细节(属性),隐藏在类的内部(),通过对外的公共接口()对属性进行范文,从而保证
-
如何使其合理
-
将属性设置为私有,使用private修饰(private:私有的,在本类内部可以访问,在类的外部不能访问一个类中使用private修饰的成员)
【说明】private只能修饰属性,方法 -
通过在类的内部写两个public的方法
赋值方法和取值方法,对私有属性进行赋值、取值操作 -
在set方法中对参数值的合理范围进行判断
快捷键 alt+Shift+S
给属性赋值的3种方式
对象.属性名=值:要求属性的访问修饰符一定可用
构造方法赋值,没有对值得有效范围进行判断 对象.setXXX(值) 安全的赋值方式
2、继承
继承主要解决代码重复编写的问题
概念:描述的是类与类之间的关系,通过这种关系,子类就可以访问父类中可以访问的成员。
好处:代码复用
继承关系:is-a 子类is-a 父类
父类:不明确的
子类:明确的,具体的
如何解决:
- 找类的共同属性及方法
- 新建类,把共同的属性和方法存放在新类中
- 原有类 继承 存放共同的成员的类
概念:
父类:基类、超类 存放共同成员的类
子类:派生类,存放自己独有的成员的类
java继承的语法:
class 子类 extends 父类{}
【说明】任何一个类都默认继承object类
java继承的特点:
- 单继承:一个子类只可以有一个父类
- 传递性
子类继承了父类的那些成员:
子类可以访问父类中public修饰的成员
如果子类和父类在同一包中,那么可以访问父类中默认访问修饰符的成员,如果不在同一包下,则不可以访问
子类可以访问父类中的protected修饰的成员,无论子类和父类是否在统一包中
构造方法不能被继承
-