가족 임무는 일부 가족의 확고한 목표입니다. 객체 지향 프로그래밍 과정에서 추상 클래스는 그러한 가족 임무입니다. 어느 날 목표가 완료되지 않으면 항상 추상 수업이 됩니다. 추상 클래스 Abstract의 목적은 상위 클래스를 사용하여 하위 클래스가 완료해야 하는 사양을 적용하는 것입니다.
1. 정의:
abstract
키워드로 수정된 클래스인 추상 클래스는 클래스가 상속만 가능하고 인스턴스화될 수 없음을 의미합니다. abstract
关键字修饰的类,表示该类只能被继承,不能被实例化。
2.基本语法:
使用abstract
关键字修饰类。
<?php abstract class People{} //$a=new People();//抽象类不能够被实例化会报错 class Man extends People{}//正确 ?>
使用abstract
关键字还可以用来修饰方法(抽象方法
),abstract
修饰的方法不能有方法体,而且有抽象方法的类必须声明为抽象类。
<?php abstract class People{ public function show(){} //普通方法有方法体 abstract public function eat(); //定义抽象方法:没有方法体 // 两者的主要区别:{},修饰符(因为抽象方法要被实现, //所以不能为private) } ?>
子类继承抽象类
后,如果抽象类中有抽象方法,那么子类必须实现所有抽象方法
,若不实现所有抽象方法,则依旧为抽象类
(直到实现所有方法,否则永远为抽象类
클래스를 수정하려면 위 내용은 유공정신의 계승——추상수업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!abstract
키워드를 사용하세요. abstract class People{
abstract public function eat();
public function show(){} //普通方法有方法体
}
abstract class Man extends People{} //正常继承,(未实现抽象方法)抽象类继承抽象类
class Boy extends Man{ //子类实现父类所有抽象方法
//实现从祖父类继承的eat抽象方法
public function eat(){
echo 'eat';
}
}
abstract
키워드를 사용하면 메서드를 수정할 수도 있습니다(추상 메서드
). abstract
로 수정된 메서드는 메서드 본문을 가질 수 없습니다. , 추상 메서드가 있는 클래스는 추상 클래스로 선언해야 합니다. rrreee🎜 하위 클래스가 추상 클래스
를 상속한 후 추상 클래스에 추상 메서드가 있는 경우 하위 클래스는 모든 추상 메서드를 구현하지 않는 경우 모든 추상 메서드
를 구현해야 합니다. 메소드는 여전히 추상 클래스
입니다(모든 메소드가 구현될 때까지는 그렇지 않으면 항상 추상 클래스
입니다). 🎜🎜rrreee🎜추천: 🎜php 튜토리얼🎜, 🎜php 비디오 튜토리얼🎜🎜