Heim php教程 php手册 php中final static $this关键字学习笔记

php中final static $this关键字学习笔记

May 25, 2016 pm 04:47 PM
$this final static

在php中final static $this关键字主要是用在类中或对象中,下面我来把我学习final static $this笔记记录下来,有需要了解的朋友可参考参考.

final关键字

php final关键字用来在一个函数或者类名称前面,表明该函数不能被重写或者该类不能被继承.

1、final方法不能被重写.

如果不希望类中某个方法被子类重写,只需要在这个方法前加上关键字final,即设置final方法.

实例代码如下:

<?php
class ex1 {
    final function fn1() {
        return "php";
    }
}
class ex2 extends ex1 {
    function fn1() {
        return "html";
    }
}
$p = new ex2();
echo $p->fn1();
?>
Nach dem Login kopieren

加了final关键字的方法不能被重写,运行出错.

2、final类不能被继承.

被声明了final的类不能被继承,否则出错.

实例代码如下:

<?php
final class ex1 {
    private $name;
}
class ex2 extends ex1 {
    private $age;
}
?>
Nach dem Login kopieren

static关键字

php static关键字不仅可以用来声明一个静态变量,在类中同样可以声明静态的属性或者方法,成为“类属性”或“类方法”.

1、声明了静态的属性和方法后,在类中不能用$this关键字来引用,可以使用下面两种方法引用:

在类中:self::静态成员名称

在类外:类名称::静态成员名称

2、访问该类时,可不必实例化,直接使用类名称::静态成员名称的格式.

静态属性实例:

实例代码如下:

<?php
class user {
    private static $count = 10;
    private static $sum = 1;
    public function __construct() {
        for ($i = 1; $i < 11; $i++) {
            self::$sum = self::$sum * self::$count; /* 调用静态变量 */
            self::$count--;
        }
    }
    public function getCount() {
        return self::$sum;
    }
}
$user1 = new user();
echo $user1->getCount();
?>
Nach dem Login kopieren

静态方法实例:

实例代码如下:

<?php
class Math {
    public static function sum($num1, $num2) {
        return $num1 + $num2;
    }
    public static function product($num1, $num2) {
        return $num1 * $num2;
    }
}
$a = 88;
$b = 100;
echo "两数之和为: ";
echo "<br>";
echo Math::sum($a, $b);
echo "<P>";
$a = 66;
$b = 88;
echo "两数之积为: ";
echo "<br>";
echo Math::product($a, $b);
?>
Nach dem Login kopieren

$this关键字

为了解决php类和对象中变量与属性的命名冲突和不确定性问题,引入了”$this”关键字来调用当前的对象.

在类中调用当前对象的属性和方法,必须使用”$this->”关键字;$this在构造函数中指该构造函数所创建的新对象;方法内的局部变量不属于对象,不使用$this关键字取值.

使用$this关键字,我们可以在类中调用对象属性或者方法.

1、调用变量

实例代码如下:

<?php
class user {
    private $n;
    function __construct() {
        $name = "Mike";
        echo $this->n = $name;
    }
}
$p = new user();
?>
Nach dem Login kopieren

2、调用方法

实例代码如下:

<?php
class cal {
    public function sum($a, $b) {
        return $a + $b;
    }
    public function prt($a, $c) {
        return $a * $c;
    }
    public function result($a, $b, $c) {
        $a = $this->sum($a, $b);
        return $this->prt($a, $c);
    }
}
$c = new cal();
echo "(2+3)*10= " . $c->result(&#39;2&#39;, &#39;3&#39;, &#39;10&#39;);
?>
Nach dem Login kopieren


教程地址:

欢迎转载!但请带上文章地址^^

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

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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)

Schwerwiegender PHP-Fehler: Verwendung von $this außerhalb des Objektkontexts Schwerwiegender PHP-Fehler: Verwendung von $this außerhalb des Objektkontexts Jun 25, 2023 am 08:52 AM

Wenn Sie in der PHP-Entwicklung Mitgliedsvariablen oder Methoden einer Klasse verwenden möchten, wird häufig die Fehlermeldung „PHPFatalerror: Using$thiswhennotinobjectcontext“ angezeigt. Diese Fehlermeldung wird durch den falschen Kontext verursacht, wenn das Schlüsselwort $this für den Zugriff auf Klassenmitglieder verwendet wird. Um dieses Problem zu lösen, stellen wir im Folgenden einige Problemumgehungen vor. Stellen Sie sicher, dass sich der Code innerhalb der Klasse befindet. Überprüfen Sie, ob sich der Code innerhalb der Klasse befindet

Der Unterschied zwischen „final', „finally' und „finalize' in Java Der Unterschied zwischen „final', „finally' und „finalize' in Java Feb 19, 2024 pm 12:16 PM

Der Unterschied zwischen „final“, „final“ und „finalize“ in Java erfordert spezifische Codebeispiele. In der Java-Programmierung stoßen Sie häufig auf die drei Schlüsselwörter „final“, „final“ und „finalize“. In diesem Artikel werden die Unterschiede zwischen diesen drei Schlüsselwörtern ausführlich erläutert und Codebeispiele gegeben, um den Lesern ein besseres Verständnis zu erleichtern. 1. Schlüsselwort final Das Schlüsselwort final kann für Klassen, Methoden und Variablen verwendet werden. Seine Funktion besteht darin, die geänderte Klasse zu erstellen

Ist es in Java möglich, eine Konstante nur mit dem Schlüsselwort final zu definieren? Ist es in Java möglich, eine Konstante nur mit dem Schlüsselwort final zu definieren? Sep 20, 2023 pm 04:17 PM

Eine konstante Variable ist eine Variable, deren Wert fest ist und von der im Programm nur eine Kopie vorhanden ist. Sobald Sie eine konstante Variable deklariert und ihr einen Wert zugewiesen haben, können Sie ihren Wert im gesamten Programm nicht mehr ändern. Im Gegensatz zu anderen Sprachen unterstützt Java Konstanten nicht direkt. Sie können jedoch weiterhin eine Konstante erstellen, indem Sie eine Variable als „statisch“ und „final“ deklarieren. Statisch – Sobald Sie eine statische Variable deklarieren, werden diese zur Kompilierungszeit in den Speicher geladen, d. h. es ist nur eine Kopie verfügbar. Final – Sobald Sie eine Final-Variable deklariert haben, kann ihr Wert nicht mehr geändert werden. Daher können Sie in Java eine Konstante erstellen, indem Sie die Instanzvariable als statisch und endgültig deklarieren. Beispiel-DemonstrationsklasseData{&am

Welche Funktion hat das Java-Schlüsselwort final? Welche Funktion hat das Java-Schlüsselwort final? Nov 25, 2022 pm 04:26 PM

In Java kann final zum Ändern von Klassen, Methoden und Variablen verwendet werden. Die endgültige Änderung der Klasse bedeutet, dass die Klasse von keiner anderen Klasse geerbt werden kann. Dies bedeutet, dass diese Klasse eine Blattklasse in einem Vererbungsbaum ist und das Design dieser Klasse als perfekt angesehen wurde und nicht geändert oder erweitert werden muss. Die Methode in der endgültigen geänderten Klasse bedeutet, dass die Klasse von keiner anderen Klasse geerbt und nicht überschrieben werden kann. Das heißt, die Methode ist gesperrt, um zu verhindern, dass die geerbte Klasse sie ändert. final ändert eine Variable in einer Klasse und gibt an, dass die Variable nach der Initialisierung nicht mehr geändert werden kann.

Wie werden endgültige Objekte in Java erstellt? Wie werden endgültige Objekte in Java erstellt? Apr 11, 2024 pm 02:00 PM

Es gibt zwei Möglichkeiten, endgültige Objekte in Java zu erstellen: Deklaration einer endgültigen Variablen oder Deklaration einer Klasse mithilfe des endgültigen Modifikators. Wenn eine endgültige Variable deklariert wird, wird das Objekt durch einen Initialisierer erstellt. Wenn eine endgültige Klasse deklariert wird, ist die Klasseninstanz unveränderlich. Wichtig ist, dass sich Verweise auf endgültige Objekte immer noch ändern können, die Objekte, auf die sie verweisen, jedoch unveränderlich sind.

letzte Variable in Java letzte Variable in Java Sep 24, 2023 pm 08:49 PM

Endgültige Variablen können nur einmal explizit initialisiert werden. Eine als Final deklarierte Referenzvariable kann niemals neu zugewiesen werden, um auf ein anderes Objekt zu verweisen. Die Daten innerhalb des Objekts können jedoch geändert werden. Daher kann sich der Zustand des Objekts ändern, die Referenz jedoch nicht. Bei Variablen wird der letzte Modifikator normalerweise mit static verwendet, um die Konstante zu einer Klassenvariablen zu machen. Beispiel publicclassTest{ finalintvalue=10; //Die folgenden Beispiele für die Deklaration von Konstanten: &a

Welche Funktion und Verwendung hat Static in der C-Sprache? Welche Funktion und Verwendung hat Static in der C-Sprache? Jan 31, 2024 pm 01:59 PM

Die Rolle und Verwendung von Statik in der C-Sprache: 1. Variablenbereich; Wenn das Schlüsselwort static vor einer Variablen steht, ist der Gültigkeitsbereich der Variablen auf die Datei beschränkt, in der sie deklariert ist. Mit anderen Worten, die Variable ist ein „Gültigkeitsbereich auf Dateiebene“, was sehr nützlich ist, um das „ zu verhindern. Problem der doppelten Definition von Variablen; 2. Lebenszyklus, statische Variablen werden einmal initialisiert, wenn die Ausführung des Programms beginnt, und zerstört, wenn das Programm endet usw.

So verwenden Sie „Static', „This', „Super' und „Final' in Java So verwenden Sie „Static', „This', „Super' und „Final' in Java Apr 18, 2023 pm 03:40 PM

1. static Bitte schauen Sie sich zuerst das folgende Programm an: publicclassHello{publicstaticvoidmain(String[]args){//(1)System.out.println("Hello, world!");//(2)}} Habe das gesehen Segmentprogramme sind den meisten Leuten bekannt, die Java studiert haben. Auch wenn Sie kein Java, aber andere Hochsprachen wie C gelernt haben, sollten Sie die Bedeutung dieses Codes verstehen können. Es gibt lediglich „Hallo Welt“ aus und hat keine andere Verwendung. Es zeigt jedoch den Hauptzweck des statischen Schlüsselworts.

See all articles