PHP类与对象 final static const abst aa90 ract 关键字
2013-10-10 15:55
316 查看
PHP final 关键字
//final定义该类,即该类不能被继承
<?PHP
final class person{
......
}
?>
//final定义该方法,即该方法在子类不能被重载
<?PHP
class person{
final function say(){
......
}
}
?>
静态 static 声明类成员或方法为 static ,就可以不实例化类而直接访问
<?php
Class person{
//定义静态成员属性
public static $country="中国";
//定义静态成员方法
public static function myCountry() {
//内部访问静态成员属性
echo "我是".self::$country."人<br/>";
}
}
class student extends person {
function study() {
echo "我是".parent::$country."人<br/>";
}
}
//输出成员属性值
echo person::$country."<br/>";
// 静态方法也可通过对象访问:
$p1->myCountry();
// 子类中输出成员属性值
echo Student::$country."<br />";
$t1 = new Student();
$t1->study();
?>
常量const
<?php
Class Person{
//定义常量
const country = "中国";
public function myCountry(){
//内部访问常量
echo "我是".self::country."人<br/>";
}
}
//输出常量
echo person::country."<br/>";
//访问方法
$p1=new person();
$p1->mycountry();
?>
基类方法重载和基类方法访问
<?php
class Root{
function dayin(){
return "Root print <br>";
}
}
class Son extends Root {
function dayin(){
return Root::dayin()."Son print <br>";
}
}
$p=new Son();
echo $p->dayin();
?>
抽象方法与抽象类 abstract 关键字
<?php
abstract class cl1{
abstract function fun1();
abstract function fun2();
abstract function fun3();
function ok(){
}
}
class cl2 extends cl1{
function fun1(){
echo "diyi";
}
function fun2(){
echo "dier";
}
function fun3(){
echo "disan";
}
}
$p=new cl2();
$p->fun3();
?>
//final定义该类,即该类不能被继承
<?PHP
final class person{
......
}
?>
//final定义该方法,即该方法在子类不能被重载
<?PHP
class person{
final function say(){
......
}
}
?>
静态 static 声明类成员或方法为 static ,就可以不实例化类而直接访问
<?php
Class person{
//定义静态成员属性
public static $country="中国";
//定义静态成员方法
public static function myCountry() {
//内部访问静态成员属性
echo "我是".self::$country."人<br/>";
}
}
class student extends person {
function study() {
echo "我是".parent::$country."人<br/>";
}
}
//输出成员属性值
echo person::$country."<br/>";
// 静态方法也可通过对象访问:
$p1->myCountry();
// 子类中输出成员属性值
echo Student::$country."<br />";
$t1 = new Student();
$t1->study();
?>
常量const
<?php
Class Person{
//定义常量
const country = "中国";
public function myCountry(){
//内部访问常量
echo "我是".self::country."人<br/>";
}
}
//输出常量
echo person::country."<br/>";
//访问方法
$p1=new person();
$p1->mycountry();
?>
基类方法重载和基类方法访问
<?php
class Root{
function dayin(){
return "Root print <br>";
}
}
class Son extends Root {
function dayin(){
return Root::dayin()."Son print <br>";
}
}
$p=new Son();
echo $p->dayin();
?>
抽象方法与抽象类 abstract 关键字
<?php
abstract class cl1{
abstract function fun1();
abstract function fun2();
abstract function fun3();
function ok(){
}
}
class cl2 extends cl1{
function fun1(){
echo "diyi";
}
function fun2(){
echo "dier";
}
function fun3(){
echo "disan";
}
}
$p=new cl2();
$p->fun3();
?>
相关文章推荐
- php笔记(二)PHP类和对象之Static静态关键字
- php面向对象中this,self,parent三个关键字的含义
- 【职坐标】java面向对象前言——static关键字
- 类小结2:子类对象和父类对象的转换 final关键字 抽象类
- final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变
- 面向对象基础——static关键字和代码块的使用
- Java多线程研究02-对象锁,synchronized关键字详解
- java类与对象的创建与使用(注意与c++的有些关键字不一样)
- python中利用await关键字如何等待Future对象完成详解
- Java对象表示方式1:序列化、反序列化和transient关键字的作用
- 使用final 关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
- C#多态;父类引用指向子类对象;new和override的区别;new、abstract、virtual、override,sealed关键字区别和使用代码示例;c#类的初始化顺序
- java学习之路 之 高级类特性-四种权限修饰符、关键字super、子类对象的实例化过程
- 使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
- java串行化——Java中对象的串行化(Serialization)和transient关键字
- C/C++中使用static关键字定义或声明静态对象
- 面向对象_final关键字修饰局部变量
- java synchronized 关键字(2)对象监视器为class
- 丶使用is关键字判断对象是否与指定类型兼容
- 【面试题001】类型转换关键字,空类对象模型,拷贝构造函数,赋值运算符函数