>  기사  >  백엔드 개발  >  PHP를 외우면서 배우세요 -(13) 객체지향 프로그래밍 3

PHP를 외우면서 배우세요 -(13) 객체지향 프로그래밍 3

WBOY
WBOY원래의
2016-08-08 09:32:29754검색

2.3 멤버 메소드(함수)

멤버 메소드는 이 클래스의 특정 기능 또는 이 클래스가 수행할 수 있는 작업을 구체적으로 수행하기 위한 것임을 이해합니다. 클래스 외부의 함수와 다르지 않으며 클래스 내부에서 선언됩니다. 이를 사용할 때는 인스턴스의 클래스 객체를 사용하여 호출해야 합니다.

마찬가지로 멤버 메서드는 권한 수정자, 비공개, 보호 및 공개로 수정될 수도 있습니다. 수정자로 수정하면 해당 사용 권한은 멤버 속성의 사용 권한과 동일합니다. 사용 권한 수정자가 표시되지 않으면 기본값은 공개입니다. 일반적으로 멤버 메서드는 클래스의 비공개 속성을 작동하기 위한 개체 호출을 용이하게 하기 위해 공개로 선언됩니다.

여기에서는 구체적인 예를 제시하지 않겠습니다.

2.4 최종 키워드

이미 this, static, const 세 가지 키워드를 다루었습니다. final 키워드도 자주 사용됩니다.

final 키워드로 수정된 클래스 및 메서드가 "최종 클래스 및 메서드"입니다. 즉, final로 수정된 클래스는 상속될 수 없고, final로 수정된 메서드는 재정의될 수 없으며, final로 수정된 속성은 변경할 수 없습니다.

클래스 키워드와 함수 키워드 앞에 마지막 키워드를 씁니다.

기말 수업 MyClass 등{

//…

}

최종 함수 MyFunction(){

//…

}

3 , 클래스 상속

3.1 클래스 상속

부모님의 재산을 물려받을 수 있듯이 클래스도 상속받을 수 있습니다. 클래스 상속을 사용한 후 상속된 클래스를 부모 클래스 또는 기본 클래스라고 하고, 상속된 클래스를 하위 클래스 또는 파생 클래스라고 합니다. 하위 클래스는 상위 클래스의 모든 속성과 메서드를 상속할 수 있으며 필요한 경우 상위 클래스에서 완료되지 않은 메서드를 재정의할 수 있습니다. 클래스 상속은 :extends 키워드를 사용합니다. 하지만 PHP는 단일 상속이라는 점을 기억하세요. 즉, 클래스는 하나의 클래스만 상속할 수 있고 동시에 여러 클래스를 상속할 수는 없습니다. 이는 C++와 다릅니다.

클래스 상속을 사용하는 이유는 무엇인가요?

내가 이해한 것은 어떤 것들은 같은 카테고리에 속하고 공통된 속성이나 메소드를 가지고 있지만, 그것들 자체는 새로운 속성이나 메소드를 가지고 있기 때문에 사용한다면 매번 동일한 코드를 사용하므로 공통 항목을 기본 클래스에 넣고 서로 다른 항목을 분리한 다음 기본 클래스를 상속할 수 있습니다. 아주 간단한 예를 들자면, 독수리와 호랑이는 둘 다 눈과 입, 기타 기관이 있고 둘 다 먹을 수 있는 동물이라고 할 수 있습니다. 둘 다 공통점이 있지만 독수리는 날 수 있고 호랑이는 달릴 수 있다는 점이 다릅니다. 그런 다음 동물 클래스, 클래스를 선언할 수 있습니다. Animal{}은 여기에 동일한 것을 넣고, 다른 것을 상속하여 새로운 메서드를 추가합니다. 물론 상속 없이 따로 쓸 수도 있지만 여기서는 특정 동물 두 마리만 인용했는데, 많으면 하나씩 쓸 ​​필요가 없나요? 또 다른 예로, 최근에 살펴본 zend 프레임워크는 많은 테이블 모델을 선언해야 하는데, 모두 zend_Db_Table 클래스를 상속하지 않으면 그 안의 많은 메소드를 스스로 다시 작성해야 합니다. 둘째, 불필요하므로 상속은 여전히 ​​매우 중요합니다.

class Animal{
	protected $eyes;
	protected $mouth;
	//...
	public function eat(){
		//...
	}
}
class Tiger extends Animal{
	public function run(){
		//...
	}
}
class Eagle extends Animal{
	public function fly(){
		//...
	}
}
이 메소드가 하위 클래스에 선언된 유일한 메소드라고 생각하지 마십시오. 실제로 상위 클래스의 모든 메소드와 속성이 있습니다. 또한 비공개로 선언된 속성과 메서드를 사용할 수도 있습니다.

3.2 추상 클래스

추상 클래스는 인스턴스화할 수 없는 클래스입니다. 즉, 추상 클래스를 선언하면 새 클래스를 만들 수 없습니다. 나중에 개체. 다른 클래스의 상위 클래스로만 사용할 수 있습니다. 추상 키워드를 사용하여 선언됩니다:

abstract class MyClass{
//...
}
추상 클래스에는 하나 이상의 추상 메서드가 포함되어 있으며 추상 메서드도 다음과 같이 추상 키워드를 사용하여 선언됩니다. >

abstract function FunctionName(各种参数);
추상 메소드 뒤에는 ";"이 와야 합니다. 추상 메서드는 추상 클래스에서 구현할 수 없습니다. 즉, 함수 본문은 없고 선언만 있습니다. 해당 기능은 하위 클래스에서만 수행할 수 있습니다.

참고: 추상 클래스는 일반 메서드를 포함할 수 있지만 반드시 추상 메서드는 아니지만 적어도 하나의 추상 메서드를 포함해야 합니다.

이쯤 되면 객체지향은 기본적으로 완성됩니다. 인터페이스를 사용하는 방법도 있는데 필요할 때 쓰겠습니다. 다음 기사에서는 MySql 데이터베이스의 작업을 작성하기 시작합니다.

이상은 암기하면서 PHP를 배우는 방법을 소개했습니다. - (13) 객체지향 프로그래밍 3의 내용을 포함하여 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.

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