php类

php学习之类与对象的魔术方法的使用

魔术方法有哪些

__construct:构造方法

__destuct:析构方法__call:在对象中调用一个不可访问的方法时。__call()会被调用__callStatic:__get:调用不可访问的属性__set:给不可访问的属性赋值或修改值__isset:__unset:__sleep:串行化的时候用,涉及到序列化__wakeup:反串行化的时候用,涉及到序列化__toString:__set_state:__clone:对象克隆前被调用

说明:

魔术方法都是系统提供的所有的魔术方法,前面都是以__两个下划线我们在自定义函数时,不建议已经能用两个_开始魔术方法是在满足某个条件时,系统自动调用

访问控制修饰符的基本知识

访问修饰符包括:

public:公有,被定义该修饰的成员可以在任何地方被访问protected:受保护的,被定义该修饰符的成员可以被自身及其子类和父类访问private:私有。被定义该修饰符的成员只能被其定义所在的类中访问

访问修饰符既可以修饰成员属性,也可以修饰成员方法

访问protected,private不可以直接访问,解决方法是编写一个public的成员方法,来操作protected和private属性

<?phpclass Person{public $name;protected $age;private $sex;//构造方法public function __construct ($name,$age,$sex){$this->name = $name;$this->age = $age;$this->sex = $sex;} //访问protected属性public function get_age(){return $this->age;} //访问private属性public function get_sex(){return $this->sex;}}//创建对象$p1 = new Person('张三',23,'男');//访问各个属性//访问公共属性public ,则可以直接访问echo $p1->name;//访问protected,不可以直接访问,解决方法是编写一个public的成员方法,来操作protected属性echo $p1->get_age();//访问private,不可以直接访问,解决方法是编写一个public的成员方法,来操作private属性echo $p1->get_sex();

魔术方法之 __get函数和__set函数

当开发者去使用不可以访问的属性时,系统就会调用__get方法

不可访问的属性指:

属性不存在直接访问protected属性直接访问private属性

当去给不可访问的属性直接赋值时,系统会调用__set方法

案例:

成员属性不可访问或者被私有,希望用对象名->变量名来赋值和取值

<?php class Monkey{public $name;protected $food;//构造方法,public function __construct($name,$food){$this->name = $name;$this->food = $food;}//魔术方法—__get()//$monkey_name代表形参,传过来的被私有或者受保护的属性名这里指的是$foodpublic function __get($monkey_name){//做一个判断if(property_exists($this,$monkey_name)){return $this->$monkey_name;}else{return '没有该属性值';}}//魔术方法- __set()public function __set($monkey_name,$monkey_val){if(property_exists($this,$monkey_name)){$this->$monkey_name = $monkey_val;}else{return '该属性不存在';}}}//创建对象$monkey1 =new Monkey('小白','胡萝卜');echo $monkey1->name;echo $monkey1->food;//修改属性值$monkey1->name = '程序猿';//公共属性直接可以修改赋值echo $monkey1->name;//默认protected的属性赋值时,会调用set方法$monkey1->food = '夜宵';$monkey1->food;

魔术方法之 __isset和__unset方法

当对不可访问的属性进行isset($对象名->属性),empty($对象名->属性)操作时,系统就会调用__isset函数当对不可访问的属性进行unset($对象名->属性),系统就会调用__unset()函数

案例:unset($house->name);//Fatal error: Cannot access private property House::$name in D:\wamp64\www\issetunset.php on line 40

直接访问会提示不能调用被私有的属性,此时会自动调用__unset()魔术方法,在魔术方法中执行删除,然在打印,就会被删除掉

<?php//定义一个房子类Houseclass House {//定义三个成员属性,价格Price、地址add、姓名name其中姓名私有privatepublic $price;public $add;private $name;//定义构造方法public function __construct ($price,$add,$name){$this->price = $price;$this->add = $add;$this->name =$name;//魔术方法}public function __isset($name1){//property_exists()判断对象的属性或方法是否存在if(property_exists($this,$name1)){echo '存在';}else{echo 2;}}//魔术方法—__unset()public function __unset($name){//判断成员属性是否存在if(property_exists($this,$name)){unset($this->$name);}else{echo '不存在';}}}$house = new House(1000,'陕西西安','张三');//直接调用name返回的是2,被私有了无法赋值,用isset判断时要想用$对象名->属性名访问,就要使用魔术方法__isset();if(isset($house->name)){echo $house->name;}else{echo 2;}//add属性是公开的,所以可以直接打印出来值if(isset($house->add)){echo $house->add;}else{echo 2;}//unset()销毁成员属性unset($house->name);//Fatal error: Cannot access private property House::$name in D:\wamp64\www\issetunset.php on line 40直接访问会提示不能调用被私有的属性,此时会自动调用__unset()魔术方法,在魔术方法中执行删除,然在打印,就会被删除掉var_dump($house);?>

魔术方法之__toString

当我们希望将一个对象当作字符串输出时,就会触发__toString魔术方法

魔术方法tostringtostring没有形式参数debug调试时,需要查看对象信息

案例:

<?phpclass Dog{private $name;private $age;private $benling;//构造方法public function __construct($name,$age,$benling){$this->name = $name;$this->age = $age;$this->benling = $benling;}//魔术方法tostring//tostring没有形式参数//debug调试时,需要查看对象信息public function __toString(){return '小狗的名字是 '. $this->name . '年龄为 ' . $this->age . '爱好为 ' . $this->benling; }}$dog = new Dog('藏獒',5 ,'看家');//直接打印输出会触发toString魔术方法,如果不写会报错echo $dog;?>

魔术方法之__clone

当我们需要将一个对象完全的复制一份,保证两个对象的属性和属性值一样,但他们的数据空间是独立的,则可以使用对象克隆

说明:

当我们$对象1 = $对象2时会触发__clone方法如果我们希望克隆,修改某个属性则在__clone方法中去修改即可如果我们希望阻止克隆,只需要将__clone魔术方法申明为private即可

案例:

<?phpclass Sheep{public $name;protected $food;public function __construct($name,$food){$this->name = $name;$this->food = $food;}//__clone 魔术方法//如果希望阻止克隆,则将__clone 申明为privatepublic function __clone(){//在克隆一个对象时,可以在这个__clone 函数中去修改某个属性,如果有必要的话echo '复制一个';}}$sheep1 = new Sheep('喜羊羊', '灰太狼');//对象克隆会触发__clone的魔术方法,克隆只是值拷贝$sheep2 = clone $sheep1;if($sheep1==$sheep2){echo '相等';}if($sheep1===$sheep2){echo '全等';}

魔术方法之__call函数

当我们调用要给不可访问的成员方法时,__call魔术方法就会被调用(不可访问即该成员方法不存在,成员访问被protected和private修饰)

__call魔术方法中,有两个参数

函数名:$mathod参数 类型数组:$parameters

案例:

在类的外部调用不可访问的成员方法

<?phpheader('content-type:text/html; charset=utf-8');class Sheep{public $name;protected $food;//构造方法public function __construct($name,$food){$this->name = $name;$this->food = $food;}//展示对象都有哪些信息public function show(){echo '<br>小羊的名字是 ' . $this->name;foreach($this->food as $food){echo '食物是 ' . $food;}}//定义一个受保护的方法protected function hoddy($hoddy1,$hoddy2){echo '<br>喜羊羊的第一个爱好是 ' . $hoddy1;echo '<br>喜羊羊的第二个爱好是 ' . $hoddy2;}//编写一个__call魔术方法,__call魔术方法会接收两个参数/*@param $mathod_name 函数名@param $parameters 就是参数,类型为array*/public function __call($method_name,$parameters){//判断$this中是否有$method_name函数,if(method_exists($this,$method_name)){return $this->$method_name($parameters[0],$parameters[1]);}else{echo '没调用该函数';} }}$sheep = new Sheep('喜羊羊' , array('青草','灰太狼'));$sheep->show();//当我们直接调用受保护的方法时,会触发__call魔术方法$sheep->hoddy('玩','打灰太狼');?>

实战:

有一个cat类,有年龄和名字两个属性,要求这两个属性全部都是public,cat类有一个方法jisuan($n1,$n2,$oper)可以计算+-*/,该方法是私有的,在类的外部$对象名->play('jisuan',$n1,$n2,$oper)得到结果,该方法在类中没有定义

要求play是固定的,如果没有按规定写,则给出相应的错误提示

<?phpheader('content-type:text/html; charset=utf-8');class Cat{public $name;public $age;//构造方法public function __construct($name,$age){$this->name = $name;$this->age = $age;}//定义一个jisuan方法private function jiSuan($n1,$n2 ,$oper){$res = 0;//判断符号并计算switch($oper){case '+':$res = $n1 + $n2;break;case '-':$res = $n1 - $n2;break;case '*':$res = $n1 * $n2;break;case '/':$res = $n1 / $n2;break;default:echo '输入的符号错误,请重新输入';}return $res;}//编写要给__call魔术方法public function __call($method_name,$parameters){//判断是否通过play方法调用if($method_name == 'play'){//判断jisuan()方法是否存在if(method_exists($this,$parameters[0])){return $this->$parameters[0]($parameters[1],$parameters[2],$parameters[3]);}else{echo '你调用的'.$patameters[0].'不存在';}}else{echo '你调用的方式有问题';}}}$cat = new Cat('tom',23);echo $cat->play('jiSuan',1,2,'*');

展开
收起

php学习之php变量及变量的八种数据类型

1.什么是变量

说明:在php中存储数据的一种方式,就是i可以发生改变的量,这种方式是在内存中开辟一个可以存放数据的空间,给这个空间起个名称,这时候的空间就可以称为一个变量。在运行过程中这个值是可以发生改变的

当前空间的名称就是变量名,当前空间的数据(八种数据类型)就称为变量值

2.定义变量并赋值

定义变量:$变量名; 注意这样定义的变量是可以的 ,但是不能使用,直接输出会报错,必须后面跟一个变量值才可以使用

notice:注意undefined:未定义variable:变量

定义变量并赋值:$变量名 = 变量值;

<?php// $a;// echo $a;$a =1;echo $a;?>

3.定义变量的规则

变量名是区分大小写的

<?php//定义两个变量a、A这是两个不同的变量 最后打印出来的是两个不同的值$a =1;$A =2;echo $a,$A;?>

变量名建议使用有意义的名称,看到变量名就知道是代表啥意思,比如$name、$age、$sex、$get_user_name命名规则:必须是数字、字母、下划线组成且不能以数字开头。比如:$a1、$A1、$a_1、$_a1、$_2都可以但是不能是$1a。

命名的三种规则方式:

驼峰式命名法:第一个单子首字母小写,其他大写。比如$getUserName下划线命名法:每个单词用下划线隔开。比如$get_user_name帕斯卡命名法:每一个单词首字母都大写。比如:$GetUserName

变量常用的几个函数:

echo:打印输出变量的值var_dump():打印变量的类型、长度、值

isset():判断变量是否存在,如果变量存在且不是null则返回true,否则返回的时false

unset():销毁变量

4.变量的八种数据类型

标量类型:int(整数型)、float(浮点型)、boolean(布尔类型)、string(字符串类型)复合类型:array(数组)、object(对象)特殊类型:null(空)、resource(资源)

4.1.int:整数型

整数型包括正整数和负整数和0,在定义变量赋值的时候直接写数字就可以了

<?php$num1 =1;$num2 =0;$num3 =-1;$num4 =-0;var_dump($num1,$num2,$num3,$num4);//都可以打印且都是整数类型?>

4.2 float:浮点型

说明:包括小数,负小数,正小数和0.0

<?php$num_float1 =0.0;$num_float2 =-0.0;$num_float3 =-1.0;$num_float4 =1.0;var_dump($num_float1,$num_float2,$num_float3,$num_float4);?>

4.3 string:字符串型

说明:只要是任何类型的数据加上单引号或双引号就是字符串类型,

string类型有四种方式:

单引号。如:$a=’吾爱乐享’;双引号。如:$a=”吾爱乐享”;heredoc:双引号的多行写法nowdoc:单引号的多行写法

单引号和双引号的区别:

单引号不能解析变量,双引号可以解析变量

heredoc:双引号的多行方式,也可以解析变量

语法:定界符是自定义的大写$str = <<<定界符 //定界符后面不能有任何字符包括空格大量的字符串定界符; //定界符前面不能出现任何字符和空格,必须是顶头,不能有返回的字符

<?php$str1 ="吾爱乐享";$str=<<<ABC<ul><li>吾爱乐享</li><li>$str1</li><li>学习</li></ul>ABC;echo $str;?>

nowdoc:单引号方式,不能解析变量

语法:$str=<<<‘定界符’字符串定界符;

<?php $str1 ="吾爱乐享"; $str=<<<'ABC'<ul><li>吾爱乐享</li><li>$str1</li> <li>学习</li></ul> ABC; echo $str;?>

4.4 boolean:布尔型

说明:布尔型只有两个值,true和false,布尔值是和一些其他方式配合使用的比如流程控制

其他类型转换为boolean类型时,以下值被认为是false

布尔值false本身整型值为0浮点型值为0.0空字符串,以及字符串“0”不包括任何元素的数组不包括任何成员变量的对象(仅php4适用)特殊类型null(包括尚未赋值的变量)从空标记生成的simplexml对象

所有其他值都被认为是true(包括任何资源)

4.5 array 数组

说明:数组是能够在单个变量中存储多个值的特殊变量

案例:

<?php$cars=array("吾爱乐享","php","学习资源");echo $cars[0],$cars[1],$cars[2];?>

4.6 object 对象

4.7 空类型

说明:没有任何值的一个给变量定义赋值方式

一般变量被认为是null的情况:

被赋值为null尚未赋值被unset():被销毁的变量

4.8 resource资源

说明:它不是一种具体的值,而是一个多种数据的统称

多种数据:上传文件、加载图片、路径、数据库等这些都称为外部资源,不是php本身可以定义的数据

展开
收起

PHP空间类元素引入和使用注意

1. 空间引入

引入使用 use关键词

use 空间;

2. 类元素引入

1).只能引入类元素

2).别名使用

在引入的命名空间中存在某些与本空间的元素名称相同的元素,为了防止冲突,需要使用别名来解决这个问题。

3. 公共空间

1).只要没有namespace声明的空间都是属于公共空间。

访问公共空间的方式:\元素

2).元素访问遵循一个原则:

先访问当前空间,当前空间没有的话再去访问公共空间的元素。

4. 命名空间使用注意

1) .声明命名空间的当前脚本的第一个namespace关键字前面不能有除注释外的任何代码(就算是header头也不可以)

2) .命名空间是虚拟抽象的空间,不是真实存在的目录

3) .同一请求中的多个文件里,可以使用同名称的命名空间,只要这些文件里边不出现多个同名称、同类型的元素就可以。

展开
收起

php数据类型理解

1.总体划分

· 标量类型: int, float, string, bool

· 复合类型: array, object

· 特殊类型: null, resource

2.整数类型

3种整数类型的写法(表示法):

· 十进制写法:123

· 八进制写法: 0123

· 十六进制写法: 0x123

3.进制转换

dec: 10进制

bin: 2进制

oct: 8进制

hex: 16进制

10进制转换为2进制: decbin(10进制数字),得到的结果是2进制数字字符串;

10进制转换为8进制: decoct(10进制数字),得到的结果是8进制数字字符串;

10进制转换为16进制: dechex(10进制数字),得到的结果是16进制数字字符串;

结果为:

2进制转换为10进制:bindec(2进制数字字符串),得到的结果是10进制数字;

8进制转换为10进制:octdec(8进制数字字符串),得到的结果是10进制数字;

16进制转换为10进制:hexdec(16进制数字字符串),得到的结果是10进制数字;

结果为:

展开
收起

如何实现一个PHP类来计算整数的阶乘?(代码详解)

本篇文章主要给大家介绍实现一个PHP类来计算整数的阶乘。首先大家简单了解一下什么是阶乘?

一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。

简单的说,比如6的阶乘就是6!=1*2*3*4*5*6

那么我们如何实现PHP类来计算整数的阶乘?

实现代码如下:

<?php

class factorial_of_a_number

{

protected $_n;

public function __construct($n)

{

if (!is_int($n))

{

throw new InvalidArgumentException('Not a number or missing argument');

}

$this->_n = $n;

}

public function result()

{

$factorial = 1;

for ($i = 1; $i <= $this->_n; $i++)

{

$factorial *= $i;

}

return $factorial;

}

}

$newfactorial = New factorial_of_a_number(5);

echo $newfactorial->result();

?>

相关函数介绍:上述代码就是计算出5的阶乘,输出结果为120。

is_int()函数检测变量是否是整数。

__construct() 函数创建一个新的 SimpleXMLElement 对象。PHP 5 允行开发者在一个类中定义一个方法作为构造函数。具有构造函数的类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。

我们可以用一个逻辑图来表示:

本篇文章就关于实现一个PHP类计算整数阶乘的方法介绍,具有一定的参考价值,希望对需要的朋友有所帮助!

PHP递归函数求阶乘方法

展开
收起

php函数-类的动态加载

<?php

function import($file=''){

$file_name = dirname(__FILE__)."/$file".'.class.php';

if(is_file($file_name)){

require $file_name;

$class = new $file();

return $class;

}else{

return false;

}

}

$class = import('abc');

$class->test();

?>

abc.class.php

<?php

class abc{

public function test(){

echo '123';

}

}

?>

展开
收起

php数据类型有哪些?

大家好,欢迎关注支持,谢谢!本篇将介绍php数据类型有哪些?有兴趣的朋友可以了解一下!

一、前言

php是一门很受欢迎的编程语言,而且简单易学,因此迎来了很多自学者,小编也是其中一个。每一门编程语言都有自己的数据类型,php也不例外,也有自己的数据类型。但是php和其它语言不一样,它是一门弱语言,在声明变量的时候不需要指定数据类型。所以,关于php数据类型我们只要了解就可以了,并不需要记忆,这也是php语言简单易学的表现之一。

虽然php声明变量并不需要指定数据类型,但是在声明一个变量的时候,我们应该要知道它是什么数据类型,以便能更正确更灵活的使用它。所以,小编认为了解php数据类型也是很有必要的。况且,在今后如果要找工作,在笔试或面试中也很有可能会遇到。

关于php数据类型,小编并不建议大家去死记硬背。虽然背下来并不是一件难事,但是死记硬背下来的东西时间一久就自然忘记了。还是建议大家在实际应用中想一想它,比如:在声明一个变量中,就要明白该变量是一个什么数据类型。这样久而久之就自然地记住了,而且还不容易忘记。

今天小编结合自己的理解和平时自学的笔记,对php数据类型进行了总结。在此借助百家号这个平台分享给大家,希望对大家有所帮助!

二、php数据类型

在php中,有八种基本的数据类型,四种标量类型、两种复合类型和两种特殊类型。数据类型一般是在声明变量的时候由程序员指定,但是php不一样。php是一门弱语言,变量的数据类型不需要程序员指定,php会根据该变量使用的上下文在运行的时候指定。

四种标量类型整型(integer):取值有效范围是-2147483648到+2147483647。整型可以由三种格式来表示:十进制,十六进制或八进制表示。十六进制需要加前缀0x,八进制需要加前缀0。整型数据其实就是我们数学中所说的整数,包括正整数、负整数和0。浮点型(float/double ):取值有效范围是1.8E-308到1.8E+308。浮点数据类型的变量可以用来存储整数和小数,精确度比整型数据类型要高。字符串(string):字符型变量在php中用的非常多,它可以用来存储字符和字符串。在其它语言中,字符和字符串是两种不同的数据类型。但在php中,统一使将字符和字符串当作字符串数据类型。布尔型(boolean):布尔型数据只有两种取值,TRUE和FALSE(不区分大小写)。

四种标量类型的使用:

<?php

header("content-type:text/html;charset=utf-8");//设置编码,解决中文乱码

$int = 100;//整型

$flo = 3.14;//浮点型

$str = "字符串数据类型";//字符串

$boo = TRUE;//布尔型

var_dump($int);//输出类型和值

var_dump($flo);

var_dump($str);

var_dump($boo);

?>

运行结果:

四种标量类型

两种复合类型数组(array):数组是一个很特殊的数据类型,可以在一个变量中存储多个数据。在php中,使用array()函数来创建数组。对象(object):对象也是一种特殊的数据类型,是存储数据和有关如何处理数据的信息的数据类型。在php中,创建对象用new关键字。两种复合类型的使用:

<?php

header("content-type:text/html;charset=utf-8");//设置编码,解决中文乱码

class People{//类

var $name; var $age;//成员变量

function say(){//方法

echo "我的名字叫:".$this->name."<br>";

echo "我今年".$this->age."岁<br>";}}

$arr = array("数组","对象");//创建数组

$obj = new People();//创建对象

$obj->name = "小明";$obj->age = 25;//对象属性赋值

$obj->say();//调用对象方法

var_dump($obj);//输出数组

?>

运行结果:

两种复合类型

两种特殊类型资源(resource):资源数据类型保存了到外部资源的一个引用(如:打开文件、数据库连接等),是通过专门的函数来建立和使用的。NULL(NULL):NULL数据类型唯一可能的值就是NULL,用来表示一个变量没有值。两种特殊类型的使用:

<?php

header("content-type:text/html;charset=utf-8");//设置编码,解决中文乱码

$fp = fopen("test.txt", "rw");//资源类型

$str = "null类型";//字符串

$str = NULL;//NULL类型

var_dump($str); var_dump($fp);//输出

?>

运行结果:

null

resource(3, stream)

运行结果说明:3::资源ID为3,tream:资源类型名称s。具体含义今后介绍。

好了,关于“php数据类型有哪些?”的介绍就到此结束了,希望能帮助大家!

展开
收起

PHP八种数据类型

在PHP程序中,数据类型可以分成3种:标量数据类型、复合数据类型(即将多个简单数据类型组合在一起,存储在一个变量名中)和特殊数据类型。1.标量数据类型标量数据类型包括以下几种。(1)boolean:布尔型 布尔变量是PHP变量中最简单的。它保存一个True或者False值。其中True或者False是PHP的内部关键字。设定一个布尔型的变量,只需将True或者False赋值给该变量(2)string:字符串 字符串是连续的字符序列,字符串中的每个字符只占用一个字节。在PHP中,定义字符串有3种方式:单引号方式,双引号方式,Heredoc方式。(3)integer:整数 整数数据类型只能包含整数。这些数据类型可以是正数或负数。在32位的操作系统中,有效的范围是2 147 483 648~+2147 483 647。(4)double:浮点数 浮点数据类型可以用来存储数字,也可以保存小数。它提供的精度不整数大得多。在32位的操作系统中,有效的范围是1.7E-308~1.7E+308。

2.复合数据类型复合数据类型包括以下两种。(1)array:数组可以是二维、三维或者多维,数组中的各元素可以是string、integer或double,也可以是array。(2)object:对象类型

3.特殊数据类型特殊数据类型包括以下两种。(1)resource:资源 资源是PHP内的几个函数所需要的特殊数据类型,由编程人员来分配。(2)null:空值 空值是最简单的数据类型。表示没有为该变量设置任何值,另外,空值(NULL)不区分大小写。

展开
收起

PHP类中成员方法

实例属性和静态属性

class 类名{

var $属性名1 = 值1; //定义实例属性,有初值

var $属性名2 ; //定义实例属性,无初值;

static $属性名3 = 值3; //定义静态属性,有初值

static $属性名4 ; //定义静态属性,无初值;

//其实,是静态属性,是在属性名前面加上“static”关键字

}

实例属性:

它是“隶属于”对象的属性;

每new(实例化)一个对象,则该对象上就具有了该实例属性。

使用形式:

$对象->实例属性名;

可见,实例属性,是通过对象来使用它;

静态属性:

它是“隶属于”该类本身——而不隶属于对象。

即使new很多个对象,也只有一个该属性——即只能保存一份数据;

使用形式:

类名::$静态属性名;

可见:静态属性,是通过类来使用它;

实例方法和静态方法

实例方法:

定义形式:

function 方法名(形参1,形参2,...) { ..... }

使用形式:

$对象->方法名(实参1,实参2,....);

实例方法也是“隶属于”对象;

不过,因为方法不是“容器”,不是“数据”,而是一段可执行的代码;

注意:多个不同的对象,调用一个共同的方法,也只是调用而已,并不像实例属性一样,区分“你的”还是“我的”

静态方法:

定义形式:

static function 方法名(形参1,形参2,...) { ..... }

使用形式:

类名::方法名(实参1,实参2,....);

静态方法也是“隶属于”类;

展开
收起

PHP类的继承与理解

基本概念

就是定义一个类的时候,从另一个“已有的类”,获得其特征信息(属性和方法)的过程。

继承的基本语法为:

class 新类名 extends 已有类名{

//.....新的类的成员定义

}

比如:

派生:从一个已有的类产生一个新的类的过程,称为派生。

父类/子类:已有类为父类,新建类为子类。

父类又叫:基类,上级类,前代类...

子类又叫:派生类,下级类,后代类...

单继承:一个类只能从一个上级类继承其特性信息,就称为单继承。PHP和大多数面向对象的语言都是单继承模式。

多继承:一个类能从多个上级类继承其特性信息。C++是多继承。

扩展:在子类中再来定义自己的一些新的特有的特性信息(属性,方法和常量)。没有扩展,继承也就没有意义了。

展开
收起