Heim Backend-Entwicklung PHP-Tutorial PHP面向对象学习笔记之一 基础概念_PHP

PHP面向对象学习笔记之一 基础概念_PHP

Jun 01, 2016 pm 12:08 PM
php面向对象 基础概念

1> if( "false" ) 等效于 if( true), 因为非空字符串是true
2> 检查数据类型:
is_array();
is_object();
is_string();
is_null();
is_integer();
3> PHP5 引入类的类型提示(type hint),用来约束一个方法的参数类型(不是基本数据类型,而是类):将类名放在需要约束的方法参数之前.
例如: function write( ShopProduct $shopProduct){}

4> instanceof 操作符: 如果左边操作数的对象是右边操作数所示的类型,结果为true
例如: if( $shopProduct instanceof BookProduct ) {}

5> 继承 class son extends parent{}
要调用父类的方法, 比如构造函数,用 parent::__construct();

6> 静态方法和属性
class StaticExample{
static public $a;
static public function hello(){}
}
外部访问使用::
例如: print StaticExample::$a;
内部访问使用self::
例如: self::$a;

7> 抽象类, 抽象方法
abstract class xxx{
...
abstract function write(); //没有{}
}

抽象类的子类要重新声明方法并实现之. 新实现的方法的访问控制不能比抽象方法的访问控制更严格.

8>接口 interface
只定义功能,不包含实现. 接口中可以包含属性和方法声明,但方法体为空;
例如: interface a{
public function b();
}
任何实现接口的类都要实现接口中定义的所有方法,否则就必须是抽象类.
类在声明中使用implements来实现某个接口.
class Shop implements a{
public function b(){
...
}
}

9> 异常 exception
PHP5引入异常类

10>拦截器 interceptor
__get($property); 访问未定义的属性时被调用
__set($property,$value); 给未定义的属性赋值时被调用
__isset($property); 对未定义的属性使用isset()时被调用;
__unset($property);对未定义的属性调用unset()时被调用;
__call($method, $arg_array); 调用未定义的方法时候被调用
例: __get()的实现
复制代码 代码如下:
function __get($property){
$method="get{$property}";
if(method_exists($this,$method)){
return $this->$method();
}
}

function getName(){ return "Bob";}

function __isset($property){
$method="get{$porperty}";
return(method_exists($this, $method));
}

function __set($property, $value){
$method="set{$property}";
if( method_exists($this,$method)){
return $this->$method($value);
}
}


11> 析构方法 __destruct()

12> __clone(); 与clone关键字的区别
class CopyMe();
$first= new CopyMe();
$second=$first;
// PHP4 : $first和$second是两个完全不同的对象;
// PHP5: $first和$second指向同一个对象
PHP5中, 对象的赋值和传递都是引用.
如果要拷贝,就要用: $second= clone $first; //现在$first和$second是两个完全不同的对象,(by_value copy)
如果要想控制复制, 要通过实现一个特殊方法__clone()

13> 自动加载: __autoload()
PHP5引入__autoload()拦截器方法来自动包含类文件.当PHP遇到试图实例化一个未知类的操作时,会尝试调用__autoload()方法,并将类名当作字符串参数传递给它.
例如一个很简单的自动定位和包含策略:
function __autoload( $classname){
includ_once "$classname.php";
}

====================
14>使用字符串动态引用类
复制代码 代码如下:
$classname="Task";
require_once("tasks/{$classname}.php);
$myObj= new $classname();
$method="getTitle";
$myObj->$method(); //动态方法

15>类函数和对象函数
复制代码 代码如下:
class_exist(); //检查类是否存在
get_declared_classes(); //获得当前脚本进程中定义的所有类(array形式返回)
get_class_methods();//类中所有的public方法列表(array)
method_exist($objname,$method); //对象或类的方法是否存在
is_callable();//对象或类的方法不仅存在,且能访问
get_class_vars(); // 属性
get_parent_class(类或对象名称); //父类
is_subclass_of(); //是否子类,不管接口,接口用 instanceof操作符

16>反射API
由一系列可以分析属性、方法、类和参数的内置类构成,可以动态获取信息,动态调用方法.

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Eine ausführliche Erklärung der objektorientierten Kapselung von PHP Eine ausführliche Erklärung der objektorientierten Kapselung von PHP Aug 11, 2023 am 11:00 AM

Eingehende Interpretation der objektorientierten PHP-Kapselung Kapselung ist eines der drei Hauptmerkmale der objektorientierten Programmierung. Sie bezieht sich auf die Kapselung von Daten und Operationen auf Daten in einer Klasse, das Verbergen spezifischer Implementierungsdetails vor externen Programmen und die Bereitstellung externer Schnittstellen. In PHP wird das Konzept der Kapselung durch die Verwendung von Zugriffsmodifikatoren (öffentlich, geschützt, privat) implementiert, um den Zugriff auf Eigenschaften und Methoden zu steuern. Werfen wir zunächst einen Blick auf die Rolle von Zugriffsmodifikatoren: public (public): Öffentliche Eigenschaften und Methoden können

So implementieren Sie die Objektversionskontrolle und -verwaltung mithilfe eines objektorientierten einfachen PHP-Factory-Musters So implementieren Sie die Objektversionskontrolle und -verwaltung mithilfe eines objektorientierten einfachen PHP-Factory-Musters Sep 06, 2023 pm 02:39 PM

So implementieren Sie die Objektversionskontrolle und -verwaltung über das objektorientierte einfache PHP-Factory-Modell. Bei der Entwicklung großer und komplexer PHP-Projekte sind Versionskontrolle und -verwaltung sehr wichtig. Durch geeignete Entwurfsmuster können wir die Erstellung und Verwendung von Objekten besser verwalten und steuern und so die Wartbarkeit und Skalierbarkeit des Codes verbessern. In diesem Artikel wird erläutert, wie Sie das objektorientierte einfache PHP-Factory-Muster verwenden, um die Versionskontrolle und -verwaltung von Objekten zu implementieren. Das einfache Factory-Muster ist ein Entwurfsmuster zum Erstellen von Klassen, das bestimmte Objekte über eine Factory-Klasse instanziiert

Detaillierte Erläuterung der Grundkonzepte von Golang-Funktionen Detaillierte Erläuterung der Grundkonzepte von Golang-Funktionen May 17, 2023 am 10:33 AM

Mit der rasanten Entwicklung moderner Programmiersprachen ist Golang für immer mehr Menschen zur Sprache der Wahl geworden. Als eines der Grundkonzepte der Golang-Sprache bieten Funktionen leistungsstarke Werkzeugunterstützung für Programmierer. In diesem Artikel werden die Definition, Parameter, Rückgabewerte, der Umfang und andere grundlegende Konzepte von Golang-Funktionen sowie einige erweiterte Anwendungsszenarien und -techniken ausführlich erläutert, um den Lesern zu helfen, Golang-Funktionen besser zu verstehen und zu verwenden. 1. Definition einer Funktion Eine Funktion ist ein Grundkonzept in Golang. Es ist ein Absatz, der wiederholt werden kann

So erstellen Sie flexible Objektinstanzen mithilfe des objektorientierten einfachen PHP-Factory-Musters So erstellen Sie flexible Objektinstanzen mithilfe des objektorientierten einfachen PHP-Factory-Musters Sep 06, 2023 pm 02:12 PM

So erstellen Sie flexible Objektinstanzen mithilfe des objektorientierten einfachen Factory-Musters von PHP. Das einfache Factory-Muster ist ein gängiges Entwurfsmuster, das Objektinstanzen erstellt, ohne die Objekterstellungslogik offenzulegen. Dieser Modus kann die Flexibilität und Wartbarkeit des Codes verbessern und eignet sich besonders für Szenarien, in denen verschiedene Objekte basierend auf Eingabebedingungen dynamisch erstellt werden müssen. In PHP können wir die Merkmale der objektorientierten Programmierung nutzen, um das einfache Factory-Muster zu implementieren. Schauen wir uns unten ein Beispiel an. Angenommen, wir müssen einen Grafikrechner erstellen, der das kann

So beherrschen Sie objektorientierte Programmierkenntnisse in der PHP-Entwicklung So beherrschen Sie objektorientierte Programmierkenntnisse in der PHP-Entwicklung Jun 25, 2023 am 08:05 AM

Mit der Entwicklung des Internets hat sich PHP nach und nach zu einer der beliebtesten Programmiersprachen in der Webentwicklung entwickelt. Mit der rasanten Entwicklung von PHP ist die objektorientierte Programmierung jedoch zu einer der notwendigen Fähigkeiten in der PHP-Entwicklung geworden. In diesem Artikel besprechen wir, wie man objektorientierte Programmierkenntnisse in der PHP-Entwicklung erlernt. Die Konzepte der objektorientierten Programmierung verstehen Die objektorientierte Programmierung ist ein Programmierparadigma, das Code und Daten mithilfe von Objekten (Klassen, Eigenschaften und Methoden) organisiert. Bei der objektorientierten Programmierung wird Code in wiederverwendbaren Modulen organisiert, wodurch die Leistung des Programms verbessert wird

PHP vom Anfänger bis zum Fortgeschrittenen – lernen Sie grundlegende Syntax und Konzepte PHP vom Anfänger bis zum Fortgeschrittenen – lernen Sie grundlegende Syntax und Konzepte Sep 09, 2023 am 10:01 AM

PHP-Einstieg in Fortgeschrittene – Erlernen der grundlegenden Syntax und Konzepte Einführung: PHP (Hypertext Preprocessor) ist eine beliebte serverseitige Skriptsprache, die häufig in der Webentwicklung verwendet wird. In diesem Artikel beginnen wir mit der Einstiegsebene, lernen nach und nach die grundlegende Syntax und die Konzepte von PHP eingehend kennen und stellen Codebeispiele als Referenz bereit. 1. PHP-Installation und -Konfiguration Bevor Sie mit dem Erlernen von PHP beginnen, müssen Sie zunächst PHP auf Ihrem Computer installieren. Sie können es von der offiziellen Website herunterladen (https://w

Analyse grundlegender Konzepte der Go-Sprache Analyse grundlegender Konzepte der Go-Sprache Apr 08, 2024 am 08:06 AM

Die Go-Sprache ist eine leistungsstarke, gleichzeitige Programmiersprache. Zu ihren Grundkonzepten gehören die Deklaration von Variablen über das Schlüsselwort var und die Unterstützung der Typinferenz Konstanten; stellen standardmäßige Kontrollflussanweisungen bereit; deklarieren Funktionen über das Schlüsselwort func; führen Pakete über die Importanweisung ein. Praktische Beispiele demonstrieren die Erzeugung von Fibonacci-Folgen und vertiefen das Verständnis dieser Konzepte.

Verstehen Sie den objektorientierten Vererbungsmechanismus von PHP Verstehen Sie den objektorientierten Vererbungsmechanismus von PHP Aug 10, 2023 am 10:40 AM

Den objektorientierten Vererbungsmechanismus von PHP verstehen Vererbung ist ein wichtiges Konzept in der objektorientierten Programmierung, das die Erstellung neuer Klassen ermöglicht, die die Merkmale und Funktionen der alten Klassen enthalten. In PHP kann die Vererbung durch das Schlüsselwort „extends“ erreicht werden. Durch Vererbung können Unterklassen die Eigenschaften und Methoden der übergeordneten Klasse erben und neue Eigenschaften und Methoden hinzufügen oder geerbte Methoden überschreiben. Lassen Sie uns den objektorientierten Vererbungsmechanismus von PHP anhand eines Beispiels verstehen. classAnimal{public$name

See all articles