面向对象的三大基本特征
面向对象的三大特征是封装、继承、多态。
封装
封装指的是将某些信息隐藏在类的内部,不允许外部程序直接访问,但是可以通过该类提供的公有方法,来实现对隐藏信息的操作和访问。
举个例子,就比如一台手机,内部非常复杂的,一般用户不需要了解它的内部,手机厂商把手机封装起来,对外提供了一些“公有方法”——显示屏、按键、耳机孔等,从而用户就可以很方便的使用手机。
上代码:
public class Dog {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
这是一个狗狗类name
和age
都是private,意思就是说除了Dog
类本身外,其他任何类都不可以访问这些属性(见Java访问权限),但是这边提供了public的get()
和set()
的方法,可以通过set()
方法来对其进行赋值,get()
方法来对其进行取值。this
是来引用成员变量(见成员变量和局部变量)
public class MyDog {
public static void main(String[] args) {
Dog erha = new Dog();
erha.setName("二哈");
erha.setAge(2);
System.out.println("名字:" + erha.getName());
System.out.println("年龄:" + erha.getAge());
}
}
然后在一个新的类中,new出了一个erha来,利用set()
方法来给erha取名叫“二哈”,同时也设置了年龄为“2”,再往下使用了get()
方法来获取到了erha的名字和年龄。全程都没有直接使用name
和age
来赋值取值,而是使用他提供的公有方法get()
和set()
。
运行MyDog输出结果:
名字:二哈
年龄:2
继承
继承可以直接获得父类的属性和方法并进行扩展,从而产生新的类。已经存在的类称为父类,而新的类称为子类。
详情可参考:什么是继承?
多态
多态是指在父类被子类继承之后,不同子类执行同一操作,可以有不同的解释,产生不同的执行结果。
详情可参考:Java多态