阿里Java学习路线:阶段 1:Java语言基础-Java面向对象编程:第12章: 继承的定义与使用:课时59:继承问题引出

面向对象的第二大特征就是继承性,继承性的主要特点在于:可以扩充已有类的功能。

继承问题的引出

所谓的良好的代码指的是结构性合理、适合于维护、可重用性很高,但是如果现在只是按照之前所学习到的概念进行程序的定义,那么不可避免的要面对重复问题,下面定义两个类:人类、学习类,如果按照传统定义,则结构如下:
Person.java类:

class Person {
	private String name ;
	private int age ;
	public void setName(String name) {
		this.name = name ;
	}
	public void setAge(int age) {
		this.age = age ;
	}
	public String getName() {
		return this.name ;
	}
	public int getAge() {
		return this.age ;
	}
}

Student.java类:

class Student {
	private String name ;
	private int age ;
	private String school ;
	public void setName(String name) {
		this.name = name ;
	}
	public void setSchool(String school) {
		this.school = school ;
	}
	public void setAge(int age) {
		this.age = age ;
	}
	public String getSchool() {
		return this.school ;
	}
	public String getName() {
		return this.name ;
	}
	public int getAge() {
		return this.age ;
	}
}

这个时候可以发现虽然类的概念可以解决结构性的问题,但是对于之前的开发的程序代码总能够发现有一些重复的代码出现在程序之中,并且可以进一步去思索一下关系:学生是一个人,人是一个更加广泛的定义范畴,而学生是一个相对狭小的定义范畴,从另外一个角度来讲,学生之中应该包含有人的所有特点。
如果要想进行代码的重用,那么就必须使用继承的概念来解决,所谓的继承的本质:在已有类的功能上继续进行功能的扩充。

你可能感兴趣的:(java,学习,阿里Java学习路线)