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();
?>
로그인 후 복사

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

2、final类不能被继承.

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

实例代码如下:

<?php
final class ex1 {
    private $name;
}
class ex2 extends ex1 {
    private $age;
}
?>
로그인 후 복사

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();
?>
로그인 후 복사

静态方法实例:

实例代码如下:

<?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);
?>
로그인 후 복사

$this关键字

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

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

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

1、调用变量

实例代码如下:

<?php
class user {
    private $n;
    function __construct() {
        $name = "Mike";
        echo $this->n = $name;
    }
}
$p = new user();
?>
로그인 후 복사

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;);
?>
로그인 후 복사


教程地址:

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

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 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. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

PHP 치명적인 오류: 객체 컨텍스트가 아닐 때 $this 사용 PHP 치명적인 오류: 객체 컨텍스트가 아닐 때 $this 사용 Jun 25, 2023 am 08:52 AM

PHP 개발에서 클래스의 멤버 변수나 메서드를 사용하려는 경우 "PHPFatalerror: Using$thiswhennotinobjectcontext"라는 오류 메시지가 자주 표시됩니다. 이 오류 메시지는 $this 키워드를 사용하여 클래스 멤버에 액세스할 때 잘못된 컨텍스트로 인해 발생합니다. 이 문제를 해결하기 위해 아래에서는 몇 가지 해결 방법을 소개합니다. 코드가 클래스 내부에 있는지 확인하십시오. 코드가 클래스 내부에 있는지 확인하십시오.

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

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

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

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. 수명주기, 정적 변수는 프로그램 실행을 시작할 때 한 번 초기화되고 프로그램이 끝나면 소멸됩니다.

Java에서 static, this, super 및 final을 사용하는 방법 Java에서 static, this, super 및 final을 사용하는 방법 Apr 18, 2023 pm 03:40 PM

1. static 먼저 다음 프로그램을 살펴보십시오. publicclassHello{publicstaticvoidmain(String[]args){//(1)System.out.println("Hello, world!");//(2)}} 이것을 보았습니다. 세그먼트 프로그램은 Java를 공부한 대부분의 사람들에게 친숙합니다. Java를 배우지 않았지만 C 등 다른 고급 언어를 배웠더라도 이 코드의 의미를 이해할 수 있어야 합니다. 단순히 "Hello, world"를 출력하고 다른 용도는 없습니다. 그러나 정적 키워드의 주요 목적을 보여줍니다.

C 언어의 static 키워드의 실제 적용 시나리오 및 사용 기술 C 언어의 static 키워드의 실제 적용 시나리오 및 사용 기술 Feb 21, 2024 pm 07:21 PM

C 언어 static 키워드의 실제 응용 시나리오 및 활용 기술 1. 개요 static은 C 언어에서 변수와 함수를 수정하는 데 사용되는 키워드입니다. 그 기능은 프로그램 실행 중에 수명 주기와 가시성을 변경하여 변수와 함수를 정적으로 만드는 것입니다. 이 기사에서는 static 키워드의 실제 응용 시나리오와 사용 기술을 소개하고 구체적인 코드 예제를 통해 설명합니다. 2. 정적 변수는 변수의 수명 주기를 연장합니다. static 키워드를 사용하여 지역 변수를 수정하면 수명 주기가 연장됩니다.

See all articles