Private实现封装 继承 多态

在面向对象时,有些信息是可以改的,有些信息是只能看到,但不能被修改的,这就出现了封装的概念,封装是面向对象中的一个复杂且重要的概念

 

 

private对属性的封装
为什么要用private对属性进行封装?
举个例子来说: 一辆车的属性有,品牌,颜色,车牌号,等等…
在一个类中我们定义了这些属性,这些属性是可以更改的,但现实生活中,车的品牌和车牌号是不能被更改的,这两个属性就只能被我们看到,所以就用private对属性私有化

下面我定义了一个车的属性

 

private String brand;①
String color;②
private String num;③

其中①③用了private来修饰,对类中的属性进行了封装,那么在新建的对象中,不能直接对属性进行操作,但是在本类中还是可以访问的,在外部类中就不能进行访问

访问
这个时候我们要是想访问这个私有属性就必须通过getter和setter方法来进行访问

getter方法:主要用于属性内容的获取
setter方法:主要用于属性内容的设置和修改

具体方法实现
getter:
getXxx()//获取属性(如果把一个类的属性保护起来,但是又想访问,就要给他提供get方法,来获取属性)
注意:如果属性的数据类型是boolean类型getter()方法应该写成=>isXxxx

举个例子:

public String getBrand(){
return brand;
}
注意:getter方法是无参的

 

setter:
setXxx()//修改属性(把一个属性改成私有的,就不能修改这个属性,就要给他提供set方法,来修改属)

举个例子

public void setBrand(String b){
brand=b;
}

 

————————————————
版权声明:本文为CSDN博主「Qingmou_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/baidu_41813368/article/details/84143540

 

继承:

 

 

 

super注意点:
  1.super调用父类的构造方法,必须在构造方法的第一个
  2.super必须只能出现在子类的方法或者构造方法中!
  3.super和this不能同时调用构造方法

this:
  代表的对象不同:
    this:代表本身调用者这个对象
    super:代表父类对象的应用
  前提:
    this:没有继承也可以使用
    super:只能在继承的条件中使用
构造方法:
  this():本类的构造
  super():父类的构造
例:
  print();         //指的是自己这一个方法的print
  this.print();        //this指的是自己这一个类的print
  super.print();         //super指的是父类的print
在Java中,都默认直接或间接的继承Object
私有的东西无法被继承,除非用setting和getting
子类有无参构造则父类必须也要有无参构造,如果父类没有无参构造,则子类的无参构造不成立
子类调用父类时,super()可以写也可以不写,如果不写的话他会默认super()

 

 

多态:

 

 

posted @ 2022-03-24 16:28  胡代码  阅读(36)  评论(0编辑  收藏  举报