php教程 php手册 PHP面向对象编程学习之一

PHP面向对象编程学习之一

Jun 21, 2016 am 08:47 AM
final parent protected self static

继承
1、父类里面定义的类成员可以不用在子类中重复定义,节约了编程时间和代价
2、同一个父类的子类拥有相同的父类定义的类成员,因此外部代码调用他们的时候可以一视同仁。

3、子类可以修改和调整父类定义的类成员

<?php
class Animal {
	private $weight;
	public function getWeight()
	{
		return $this->weight;
	}
	public function setWeight($w)
	{
		$this->weight = $w;
	}
}

class Dog extends Animal
{
	/**
	*子类新增方法
	*/
	public function Bark()
	{
		echo "Wang~~Wang~~~ ";
	}
}

$myDog = new Dog();
$myDog->setWeight(20);
echo "Mydog&#39;s weight is ".$myDog->getWeight().&#39;<br/>&#39;;
$myDog->Bark();
?>
로그인 후 복사


访问控制
1、面向对象的三种权限
(1)public:共有的类成员,可以在任课地方访问
(2)protected:受保护的类成员,可以被其自身以及其子类访问
(3)private:私有的类成员,只能被自身访问。

静态关键词(static)
1、静态属性用于保存类的共有数据
2、静态方法里面只能访问静态属性
3、静态成员不需要实例化对象就可以访问
4、类的内部可以通过self或者是static关键词访问自身静态成员
5、通过parent关键字可以访问父类的静态成员
6、可以通过类的名称在类定义外部访问静态成员


final成员
1、对于不想被任何类继承的类可以在class之前添加final关键字
2、对于不想被子类重写的方法,可以在方法定义的前面添加final关键字


数据访问
1、parent关键词可以用于访问父类中被子类重写的方法
2、self关键字可以访问类自身的成员方法,也可以用于访问自身的静态成员和类常量;不能用于访问类自身的属性;使用常量的时候不需要再常量名称前面添加'$'符号
3、static关键字用于访问类自身定义的的静态成员,访问静态属性时需要在属性前面添加‘$’符号。



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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. 크로스 플레이가 있습니까?
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

e의 NameResolutionError(self.host, self, e) 이유와 해결 방법 e의 NameResolutionError(self.host, self, e) 이유와 해결 방법 Mar 01, 2024 pm 01:20 PM

오류의 원인은 urllib3 라이브러리의 예외 유형인 NameResolutionError(self.host,self,e)frome입니다. 이 오류의 원인은 DNS 확인에 실패했기 때문입니다. 해결을 찾을 수 없습니다. 이는 입력한 URL 주소가 정확하지 않거나 DNS 서버를 일시적으로 사용할 수 없기 때문에 발생할 수 있습니다. 이 오류를 해결하는 방법 이 오류를 해결하는 방법은 여러 가지가 있습니다. 입력한 URL 주소가 올바른지 확인하고 액세스할 수 있는지 확인하십시오. DNS 서버를 사용할 수 있는지 확인하십시오. 명령줄에서 "ping" 명령을 사용해 볼 수 있습니다. DNS 서버를 사용할 수 있는지 테스트하려면 프록시 뒤에 있는 경우 호스트 이름 대신 IP 주소를 사용하여 웹사이트에 액세스해 보세요.

Java에서 final, finally 및 finalize의 차이점 Java에서 final, finally 및 finalize의 차이점 Feb 19, 2024 pm 12:16 PM

Java에서 final, finally 및 finalize의 차이점에는 특정 코드 예제가 필요합니다. Java 프로그래밍에서는 final, finally 및 finalize라는 세 가지 키워드가 철자가 비슷하더라도 의미와 사용법이 다른 경우가 많습니다. 이 기사에서는 이 세 가지 키워드의 차이점을 자세히 설명하고 독자의 이해를 돕기 위해 코드 예제를 제공합니다. 1. Final 키워드 final 키워드는 클래스, 메소드, 변수에 사용할 수 있습니다. 그 기능은 수정된 클래스를 만드는 것입니다.

Java에서는 final 키워드만 사용하여 상수를 정의할 수 있나요? Java에서는 final 키워드만 사용하여 상수를 정의할 수 있나요? Sep 20, 2023 pm 04:17 PM

상수 변수는 값이 고정되어 있고 프로그램에 단 하나의 복사본만 존재하는 변수입니다. 상수 변수를 선언하고 값을 할당하면 프로그램 전체에서 해당 값을 다시 변경할 수 없습니다. 다른 언어와 달리 Java는 상수를 직접 지원하지 않습니다. 그러나 변수를 static 및 final로 선언하여 상수를 생성할 수 있습니다. 정적 - 정적 변수를 선언하면 컴파일 타임에 메모리에 로드됩니다. 즉, 하나의 복사본만 사용할 수 있습니다. 최종 - 최종 변수를 선언한 후에는 해당 값을 수정할 수 없습니다. 따라서 인스턴스 변수를 static 및 final로 선언하여 Java에서 상수를 생성할 수 있습니다. 예시 데모 classData{&am

Python에서 self를 사용하는 방법 Python에서 self를 사용하는 방법 May 17, 2023 pm 10:40 PM

Python에서 self의 사용법을 소개하기 전에 먼저 Python의 클래스와 인스턴스를 소개하겠습니다. 객체 지향의 가장 중요한 개념은 클래스와 인스턴스입니다. Student 클래스로 표현됩니다. 인스턴스는 클래스를 기반으로 생성된 특정 "객체"입니다. 각 객체는 클래스에서 동일한 메서드를 상속하지만 해당 데이터는 다를 수 있습니다. 1. Student 클래스를 예로 들어 보겠습니다. Python에서 클래스는 다음과 같이 정의됩니다. classStudent(object):pass(Object)는 클래스가 상속받는 클래스를 나타냅니다.

Java final 키워드의 기능은 무엇입니까 Java final 키워드의 기능은 무엇입니까 Nov 25, 2022 pm 04:26 PM

Java에서는 final을 사용하여 클래스, 메소드 및 변수를 수정할 수 있습니다. 최종 수정된 클래스는 해당 클래스가 다른 클래스에 의해 상속될 수 없다는 의미입니다. 즉, 이 클래스는 상속 트리의 리프 클래스이며, 이 클래스의 설계가 완벽하다고 간주되어 수정이나 확장이 필요하지 않다는 의미입니다. 최종 수정된 클래스의 메서드는 해당 클래스가 다른 클래스에서 상속될 수 없고 재정의될 수 없음을 의미합니다. 즉, 상속된 클래스가 메서드를 변경하지 못하도록 메서드가 잠겨 있습니다. final은 클래스의 변수를 수정하여 변수가 초기화되면 변경할 수 없음을 나타냅니다.

Python에서 상위 클래스 속성에 액세스하는 방법은 무엇입니까? Python에서 상위 클래스 속성에 액세스하는 방법은 무엇입니까? Aug 26, 2023 am 10:17 AM

객체 지향 프로그래밍에서 상속을 사용하면 기존 클래스의 속성과 메서드를 상속하는 새 클래스를 만들 수 있습니다. 이 강력한 개념은 프로그램의 코드 재사용, 모듈성 및 확장성을 가능하게 합니다. 상위 클래스 속성에 액세스하기 전에 먼저 살펴보겠습니다.

Java로 최종 객체를 생성하는 방법은 무엇입니까? Java로 최종 객체를 생성하는 방법은 무엇입니까? Apr 11, 2024 pm 02:00 PM

Java에서 최종 객체를 생성하는 방법에는 최종 변수를 선언하거나 최종 수정자를 사용하여 클래스를 선언하는 두 가지 방법이 있습니다. final 변수가 선언되면 초기화 프로그램을 통해 객체가 생성되고, final 클래스가 선언되면 클래스 인스턴스는 변경할 수 없습니다. 중요한 점은 최종 객체에 대한 참조는 여전히 변경될 수 있지만 해당 객체가 가리키는 객체는 변경할 수 없다는 것입니다.

C 언어에서 static의 기능과 사용법은 무엇입니까? C 언어에서 static의 기능과 사용법은 무엇입니까? Jan 31, 2024 pm 01:59 PM

C 언어에서 정적의 역할 및 사용법: 1. 변수 범위, 3. 내부 함수, 5. 함수 수정, 1. 변수 범위, 변수 앞에 static 키워드가 있는 경우 변수의 범위는 변수가 선언된 파일로 제한됩니다. 즉, 변수는 "파일 수준 범위"이므로 " 중복 정의" 변수 문제 2. 수명주기, 정적 변수는 프로그램 실행을 시작할 때 한 번 초기화되고 프로그램이 끝나면 소멸됩니다.

See all articles