面向对象 可以理解为一种思维方式,为了方便使用者把自己的思维灌入计算机中,让计算机拥有类似人的思维,来进行编译,可以提高代码的复用率。
面向对象的核心分为三个:封装、继承、多态
1、封装,封装的优点有:①、可以隐藏关键代码 ②、可以使代码数据更加安全。
封装可以实现 属性私有化,被private修饰的代码,只对外界提供 get\set方法。
属性私有化:
public class Posting {
private String target;
private int age;
}
属性get/set封装:
public String getTarget() {
return target;
}
public void setTarget(String target) {
this.target = target;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
有参/无参构造函数:
public Posting() {
super();
}
public Posting(String target, int age) {
super();
this.target = target;
this.age = age;
}
2、继承,继承由子类继承父类,由修饰符 extends来实现,子类可以继承父类的方法和属性,但子类不能继承父类私有没有get的属性,子类继承父类,需要重写父类的方法。子类拥有父类相同的属性或方法,将输出子类自己的。注意:Object类是所有类的父类,可以理解为祖先类。
3、多态,多态可分为向上转型和向下转型。
向上转型:格式为 父类 名字 = new 子类();注意:向上转型不能调取子类独有的方法。
向下转型:父类引用的对象强制转化为子类 称为向下转型。将子类对象当成父类对象,只能调用父类的成员,如果子类重写了父类的方法就根据这个引用指向调用子类重写的这个方法。
总结:面向对象为一种抽象的思想,需要自己领会,每个人的理解都会不同,使用者将自己的思维赋予代码,代码便成了一个“鲜活"的生命。