좋습니다. 상위 클래스 postParent는 하위 클래스가 buildHTML() 메서드를 다시 구현해야 한다고 규정하는 추상으로 정의됩니다. 이 메서드에는 중괄호가 있으면 내용이 있는지 여부에 관계없이 오류가 보고됩니다. 아니다.
지금 보면 볼수록 이 코드에서는 추상 클래스를 사용할 필요도 없고 상속도 쓸모가 없다는 생각이 듭니다. . . . .
그리고 mysql을 외부에서 분리해서 메소드 호출이 매우 번거롭다
1, readArticle을 먼저 인스턴스화
2, mysql 쿼리, 매개변수는 readArticle::getSQL()에서 가져옴
3, return mysql 결과 리소스는 readArticle::fetchResult( $result );에 제공됩니다.
4, readArticle::buildHTML()은 HTML을 반환합니다.
목록 루프 출력인 경우 3과 4를 반복적으로 호출하면 됩니다. >
코드 복사 코드는 다음과 같습니다.
추상 클래스 postParent
{
protected $querySQL; public $fetchResult;
public $timeAgo; // 예: 2일 전
추상 보호 함수 buildHTML()
public function getSQL()
{
return $this->querySQL ;
}
공용 함수 fetchResult( $result )
{
$this->fetchResult = mysql_fetch_assoc( $result );
}
공용 함수 error()
{}
}
readArticle 클래스는 postParent를 확장합니다
{
공개 함수 __construct( $id )
{
$this->querySQL =<<
WHERE id = $id ORDER BY unixtime DESC
eof;
}
public function buildHTML()
{
return < ;<
class="post-title-a" > {$this->fetchResult['title']}
{$this->fetchResult['author']} >
{$this->fetchResult['text']}
}
}
위 내용은 추상 클래스의 내용을 포함하여 PHP에서 추상 클래스를 간단하게 적용하는 방법을 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.