Orient -Object编程基于住房的概念,该概念允许现有类的类。住房允许课程共享所有权和社区,同时提供个性化和添加每个课程的专业功能的可能性。为了利用这种灵活性和重新解剖,开发人员使用了封闭的概念,例如红色饰面,超负荷和多态性。
Medod Rede
当重新分辨子类最终养育其父母班级时,会发生Meode的重建,也称为多态性。这使子类可以个性化Hés-Rités的行为依靠自己的需求。
让我们以“ speedmaximal” thodden:
为例
public class Voiture {
public void vitesseMaximale() {
System.out.println("Vitesse max voiture = 200 km/h");
}
}
现在假设我们有一个儿童课,可以上车课,并希望减少自己使用的“ speedmaximal” meode:
public class Enfant extends Voiture {
@Override
public void vitesseMaximale() {
System.out.println("Vitesse max voiture enfant = 20 km/h");
}
}
在此示例中,儿童班重建了汽车课的“ speedmaximal” MedodeHétode,以显示儿童的最大速度。当儿童班的一个对象交叉并称为“ speedmaximal”底座时,孩子班上的孩子的补救措施将被施加,而不是汽车类的©thode。
Thode附加费
当类具有几个具有相同名称但不同参数的MSE时,MEODE的过载会发生。这允许类处理不同类型的数据并为具有类似功能的MSE提供一个通用接口。
让我们以一个过度工作的“速度” meode接受字符串类型参数的示例:
public class Voiture {
public void vitesseMaximale() {
System.out.println("La vitesse maximale de la voiture est de 200 km/h");
}
public void vitesseMaximale(String conducteur) {
System.out.println("La vitesse maximale de la voiture pour " + conducteur + " est de 250 km/h");
}
}
在此示例中,汽车类具有两个具有相同“ speedmaximal”名称的MSE,但是第二名的Méode对丁字裤类型进行了参数,该丁字类型导致驱动程序的名称。当越过汽车类中的对象并用参数调用“ speedmaximal” Medode时,将施加过多工作的Medode,而不是不采用参数的原始thode。
多态性
多态性降低到类别的物体的能力以采用几种形式。在Java中,多态性将其重新为Meode的补救措施,并使用父母班级的育儿类型来成为教室女孩。
让我们举一个具有“尖叫” Medode的动物课程的例子:
public class Animal {
public void crier() {
System.out.println("L'animal crie");
}
}
现在,假设我们有两个班级可以治愈动物课,狗课和聊天课:
public class Chien extends Animal {
@Override
public void crier() {
System.out.println("Le chien aboie");
}
}
public class Chat extends Animal {
@Override
public void crier() {
System.out.println("Le chat miaule");
}
}
在此示例中,狗和聊天课程重建了动物班上的“尖叫”基础,以取代它们发出的声音。现在假设我们在另一个类中有一个“围栏” Meode,该类别以参数为动物类的对象,并称其为“尖叫”:
public class RefugedeAnimaux {
public void faireCrier(Animal animal) {
animal.crier();
}
}
现在,如果我们相信狗对象和一个聊天对象并将thode称为每个对象上的thode,则将施加每个对象的相应“尖叫”:<>
public static void main(String[] args) {
RefugedeAnimaux refugedeAnimaux = new RefugedeAnimaux();
Chien chien = new Chien();
Chat chat = new Chat();
refugedeAnimaux.faireCrier(chien); // affiche "Le chien aboie"
refugedeAnimaux.faireCrier(chat); // affiche "Le chat miaule"
}
在此示例中,使用“动物”类型类型的育儿类型的使用使我们可以根据参数中传递的对象调用适当子类的“尖叫”。
结论
MEDOD,过载和多态性的补救措施是Java东方编程中封闭的概念。这些概念可以通过个性化Hées的行为,允许班级处理不同类型的数据,并允许班级的对象采取几种形式来处理死者和住宅类别。我希望本文使用汽车类的简单示例有助于阐明这些概念。