当我们可以简单地在现有类中实例化另一个对象时,为什么我们需要继承概念? 例如: 班级人员 { } class学生延伸人 { }
这里的班级学生和人拥有IS-A关系。但是,当我们可以向Person类添加相同的功能时,需要定义学生类吗?
答案 0 :(得分:3)
简单的答案是代码重用。
想象一下,我们还有以下类:Employee,Child,Manager,Student等。如果我们想添加一些所有这些类共有的功能,例如:name,surname,birthdate,该怎么办?我们必须将它添加到代码中的每个类。
这是类继承帮助我们重用代码的地方: 1.我们可以创建一个其他类共有的类。在这种情况下,一个名为Person的类。 2.让其他类(Employee,Student)继承此类
它还有其他优点。例如,如果我们有一个方法接受Person类型的对象,那么它将适用于其类继承自Person类的对象。
答案 1 :(得分:1)
为什么我们需要继承的概念?
你实际上在问这个问题“为什么在你必须强制编码的时候为什么要烦恼?”
它真正归结为编码实践/范例选择的问题,正如@ammaro所说,在这个特定场景中,通过利用继承,您不仅能够以更清洁,更有条理的方式重构代码,而且通过这样做来遵循正确的面向对象编程实践。
除了理论上的理论之外,你需要定义Student
类的原因是它具有属性,并且基于Person
类,但它还有其他类区分它的功能因此应该单独创建。
希望这有帮助!