Heim Backend-Entwicklung PHP-Tutorial PHP Class类与对象学习笔记_PHP教程

PHP Class类与对象学习笔记_PHP教程

Jul 13, 2016 am 10:50 AM
class php unter Und existieren 学习 对象 von 笔记

在学习中写到的一个PHP Class类与对象学习笔记,下面与各位朋友分享,希望此教程对各位学习类与对象有所帮助。

个人做的笔记.....用于借鉴,如有错请指出,谢谢

 代码如下 复制代码

/*******************************************

   Class 对象实例说明( 普通类 )

*******************************************/
 class ClassDemo{
  public $PublicVar;
 
  private $PrivateVar;//私有变量 外部不能调用
 
  protected $ProtectedVar;//受保护变量 外部与子类不可访问
 
  public static $StaticVar=0;//static 静态变量 静态方法 不能访问非静态方法与变量,非静态方法与变量可以访问静太方法与变量
 
  const constVar='';//当你有一个属性,不希望被修改,则考虑使用const 做成常量,使用 类名::常量名; 接口名::常量
  /*
    1.常量在定义的时候需要赋初值
    2.常量不能修改.
    3.常量名不能有 $, 一般是大写, 默认是public
    4.常量在类的内部使用 self::常量的名称 类名::常量的名称
  */
  public function __construct( /*$name*/ ){//这个可以带参数,带了参数之后必创建时必须也带有参数,不然会出错
   //$this->PublicVar=$name;
   //self::$StaticVar++;//静态变量内部访问方法  外部访问方法 对象名::变量名( ClassDemo::$StaticVar )
   $this->PublicVar='$PublicVar';
   $this->PrivateVar='$PrivateVar';
   $this->ProtectedVar='$ProtectedVar';
   self::$StaticVar++;
   echo "ClassDemo __construct
";
   }
  
  public function __destruct(){//析构函数
   }
  final public function fun(){
   /*
    final 关键字( PHP5 中出现 )
    希望方法不被其它的类继承时间覆盖, 可以使用final
   
    当这个关键字用来修饰类的时候,那么这个类将不可被其它类给继承(可以实例化)
   
    注:此关键字不能用于修饰变量

   */
   }
  }//End Class
/*******************************************

   Class 对象实例说明( 抽象类 )

*******************************************/
 abstract class AbstractDemo{
  /***************************************
 
   1.抽象类不能被实例化
  
   2.抽象类不一定要包含abstract方法。
     也就是说抽象类可以没有abstract方法
    
   3.一旦包含了abstract方法,则这个类必须
     声明为abstract
  
   4.抽象类不能有函数体
  
   5.如果一个类继续了某个抽象类,则他必须实现
     该抽象类的所有抽象方法。(除非它自己也声明为抽象类)
    
  ***************************************/
  }

/*******************************************

   Class 对象实例说明( 继承类 )

*******************************************/
 class DemoTwo extends ClassDemo{
 
  }
/*******************************************

   Class 对象实例说明( 接口 )

*******************************************/
 interface Face{
  /*********************************
  1.当一个类实现了 某个接口,则要求该类必须实现这个接口的所有方法
  2.接口的方法都不能有方法体
  3.不能去实例化一个接口
  4.接口中可以有属性,但是必须是常量,并且是public

  什么情况下使用接口
 
   1.定规范
   2.定下规范,让别的程序员来实现,比如:

  **********************************/
  public function Name();
 
  }
 
 interface Face2 extends Face{
  /*******************************
 
   继承接口
   继承接口时候不用去实现父接口的方法
 
  ********************************/
 
  const namevar=20;
 
  }
 
 class Demo implements Face2{
  /**********************************
 
   实现接口,可以同时实现多个接口
   当一个类去实现了某些接口,则必须把所有接口的方法,都实现
  
  **********************************/
 
  public $Name1=0;
 
  public function Name(){
  
   echo Face2::namevar;
  
   }
 
  }

?>

小结

在类内部访问静态成员属性或者方法,使用 self::(注意不是 $slef),如:

 代码如下 复制代码

slef:: $country
slef:: myCountry()

在子类访问父类静态成员属性或方法,使用 parent::(注意不是 $parent),如:

 代码如下 复制代码

parent:: $country
parent:: myCountry()

外部访问静态成员属性和方法为 类名/子类名:: ,如:

 代码如下 复制代码

Person::$country
Person::myCountry()
Student::$country

但静态方法也可以通过普通对象的方式访问。


•类/对象 函数

•__autoload — 尝试加载未定义的类
•call_user_method_array — 调用一个用户方法,同时传递参数数组(已废弃)
•call_user_method — 对特定对象调用用户方法(已废弃)
•class_alias — 为一个类创建别名
•class_exists — 检查类是否已定义
•get_called_class — 后期静态绑定("Late Static Binding")类的名称
•get_class_methods — 返回由类的方法名组成的数组
•get_class_vars — 返回由类的默认属性组成的数组
•get_class — 返回对象的类名
•get_declared_classes — 返回由已定义类的名字所组成的数组
•get_declared_interfaces — 返回一个数组包含所有已声明的接口
•get_declared_traits — 返回所有已定义的 traits 的数组
•get_object_vars — 返回由对象属性组成的关联数组
•get_parent_class — 返回对象或类的父类名
•interface_exists — 检查接口是否已被定义
•is_a — 如果对象属于该类或该类是此对象的父类则返回 TRUE
•is_subclass_of — 如果此对象是该类的子类,则返回 TRUE
•method_exists — 检查类的方法是否存在
•property_exists — 检查对象或类是否具有该属性
•trait_exists — 检查指定的 trait 是否存在

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/632631.htmlTechArticle在学习中写到的一个PHP Class类与对象学习笔记,下面与各位朋友分享,希望此教程对各位学习类与对象有所帮助。 个人做的笔记.....用于借...
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)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
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)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

CakePHP-Protokollierung CakePHP-Protokollierung Sep 10, 2024 pm 05:26 PM

Die Anmeldung bei CakePHP ist eine sehr einfache Aufgabe. Sie müssen nur eine Funktion verwenden. Sie können Fehler, Ausnahmen, Benutzeraktivitäten und von Benutzern durchgeführte Aktionen für jeden Hintergrundprozess wie Cronjob protokollieren. Das Protokollieren von Daten in CakePHP ist einfach. Die Funktion log() wird bereitgestellt

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

CakePHP-Kurzanleitung CakePHP-Kurzanleitung Sep 10, 2024 pm 05:27 PM

CakePHP ist ein Open-Source-MVC-Framework. Es erleichtert die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich. CakePHP verfügt über eine Reihe von Bibliotheken, um die Überlastung der häufigsten Aufgaben zu reduzieren.

See all articles