>  기사  >  백엔드 개발  >  PHP에서 추상 클래스와 추상 메소드를 이해하는 방법은 무엇입니까? (코드 포함)

PHP에서 추상 클래스와 추상 메소드를 이해하는 방법은 무엇입니까? (코드 포함)

不言
不言원래의
2018-07-21 17:12:082555검색

오늘 저는 객체지향 PHP의 추상 클래스와 추상 메서드에 대해 이야기하려고 왔습니다. 간단히 말해서, PHP의 추상 클래스는 인스턴스화할 수 없고 다른 클래스의 부모로만 사용할 수 있는 클래스입니다. 클래스가 사용되며 추상 메서드는 메서드 본문을 가져올 수 없습니다.

객체 지향 추상 메서드 및 추상 클래스:

모든 하위 클래스는 상위 클래스의 메서드를 상속해야 하지만 상속할 때 불확실성이 있으며 반드시 올바른 부모 클래스의 메서드를 다시 작성합니다. 이때 재정의된 메서드를 추상 메서드로 정의합니다. 추상 메서드에는 메서드 본문이 필요하지 않습니다. 이 클래스도 추상 추상입니다.

추상 클래스는 인스턴스화할 수 없고 다른 클래스의 상위 클래스로만 사용할 수 있는 클래스입니다!

클래스의 메서드가 추상이면 해당 클래스는 추상 클래스입니다.

클래스가 추상 클래스인 경우 해당 클래스를 추상 클래스로 수정해야 합니다.

추상 클래스는 특수 클래스이고, 인터페이스는 특수 추상 클래스이며, 다형성에는 추상 클래스 또는 인터페이스를 사용해야 합니다!

테스트 코드는 다음과 같습니다.

abstract class A{
	public $name = 'zym';
	abstract function show();
}
//$a = new A();//会报错
class B extends A{
	public function show(){
		echo '继承父类的抽象方法并进行重写';
	}
}
$b = new B();
$b->show();

추상 클래스는 멤버 변수와 멤버 메서드를 포함하여 일반 클래스와 유사합니다. 둘 사이의 차이점은 다음과 같습니다. 최소한 하나의 추상 메서드를 포함합니다. 추상 메서드에는 메서드 본문이 없으며 해당 함수의 구현은 하위 클래스에서만 완료될 수 있습니다.

코드는 다음과 같습니다:

//定义一个名为【交通工具】的类
abstract class Vehicle{
	private $name;//名称
	private $price;//价格
	private $brand;//品牌
	abstract function run();
}
class Truck extends Vehicle{
	function run(){
		echo '卡车在路上跑';
	}
}
class Plane extends Vehicle{
	public function run(){
		echo '飞机在天上飞';
	}
}
$plane = new Plane;
$plane->run();

참고: 추상 메서드에는 메서드 본문이 있어서는 안 됩니다!

관련 추천:

PHP의 추상 클래스 및 추상 메소드의 개념 및 사용법 분석, PHP 추상화#🎜 🎜## 🎜🎜#

php의 추상 메소드 및 추상 클래스에 대한 자세한 설명

위 내용은 PHP에서 추상 클래스와 추상 메소드를 이해하는 방법은 무엇입니까? (코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.