众所周知,OOP的目的就是了把一个次编写代码,复制复制再复制,继承继承再继承的合理利用每一次的工作,同时也方便代码管理。哪个环节出错了就去找哪个环节。但是有时候我们写的类,最终发现它只使用了一次,并没有生成多个的实例。这个时候再去new, 不仅影响效率,代码也显得不够简洁。
所以非常感性的php,为我们提供了一种便捷高效的方法 static 有了它以后这些统统不再是问题。
下面鄙人为大家讲讲static 的使用方法和特性。
hello world:
class hw{ public static function hi(){ return 'Hello World!!!'; } } echo hw::hi();
class hw{ public function hi(){ return 'Hello World!!!'; } } echo hw::hi();
从上面的例子可以看出了,使用了static和不使用static属性以后可以直接使用::方法从外面直接调用,但是为了效率和其他方面因素,还是建议使用static 来限制。
static 类内部调用方法
class foo{ private static function c(){ return 'abcd'; } public static function a(){ echo self::c(); } } foo::a();
使用了static 关键字来限制方法是必须使用self:: 在本类内部引用,上面的例子已经将的很清楚了。
static 属性
class foo{ public static $a; public static function a(){ self::$a='abcd'; } } foo::a(); echo foo::$a;
我们同样可以使用static关键字来限制变量 这个时候变量不会一直保持上一次负值时候的值。
static 继承与使用
class foo{ public static $a; public static function a(){ return 'abcd'; } } class oo extends foo{ public static function a(){ echo '1234'; } } oo::a();
static 的继承和普通类的继承方法一样,并没有太大的区别。
class foo{ public static $a; public static function a(){ return 'abcd'; } } class oo extends foo{ public static function aa(){ echo parent::a(); } } oo::aa();
只是使用的时候有写区别,必须是parent::方法来引用父类的方法,并不能直接self::来使用父类的方法,如下例子,则不会显示任何值:
class foo{ public static $a; public static function a(){ return 'abcd'; } } class oo extends foo{ public static function aa(){ echo self::a(); } } oo::a();
再一个简单的例子
<?php class Status { public static $ICE = -1; public static $WATER = 0; public static $VAPOR = 1; } ?>? <?php $exStatus = Status::$ICE; if ($exStatus == Status::$ICE) echo "Ice"; else echo "Water"; ?>
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
어 ass 신 크리드 그림자 : 조개 수수께끼 솔루션
2 몇 주 전ByDDD
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

WebStorm Mac 버전
유용한 JavaScript 개발 도구

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