关于封装、继承、多态
1、Java的面向对象
Java是面向对象的语言,那么面向对象和面向过程有什么不同呢?
(1)面向过程:针对解决问题的流程步骤,从步骤入手进行处理。
优点是性能高,清晰明了;
(2)面向对象:将构成问题的事物拆解为对象,分析事件中不同对象的不同行为,每个对象实现其各自的功能。
优点:易复用、易扩展、易维护。
2、三大特性
(1)封装
将客观事物封装成类,将其中的数据、过程对外部隐藏,当外部想要使用这个类时,只需要实例化对象并调用封装好的方法就可以,而不能直接访问对象内部的属性,但是外部可以通过调用提供的方法来操作属性。这对对象内部的数据提供了保护。
// 学生类
public class Student {
private int number;//私有属性number
private String name;//私有属性name
//获取number的方法
public int getNumber() {
return number;
}
//设置number的方法
public void setNumber(int number) {
this.number = number;
}
//获取name的方法
public String getName() {
return name;
}
//设置name的方法
public void setName(String name) {
this.name = name;
}
}
例:在学生类中,外部不能直接修改私有属性number和name,但是可以通过get和set方法获取和修改属性值。
(2)继承
继承是一种发生在不同类之间的行为,当不同的类之间有某些共同属性和功能时,我们可以以已有的类为基础,对它的属性和方法进行扩展。这时我们称新的类(子类)继承了已有的类(父类)。子类拥有父类的属性和方法,并且可以根据自身特性扩展新的属性和方法。
(3)多态
多态是建立在继承的基础上的,先有继承,才有多态。父类同一个方法,在继承的子类中表现出不同的形式。也就是说,当多个子类继承同一个父类时,对于父类的同一个方法,不同的子类可以有不同的实现,我们把这叫做多态。