发布网友 发布时间:2022-04-28 04:39
共2个回答
懂视网 时间:2022-04-28 09:00
php成员方法也叫成员函数,是定义在类的内部,可用于访问对象的数据;php成员方法的语法格式是【[修饰符] function 方法名(参数..){[方法体][return 返回值]}】。
推荐:《PHP视频教程》
PHP类中的成员属性和成员方法
类的声明 成员属性 成员方法(成员函数 ? 定义在类的内部,可用于访问对象的数据)
类的声明
简单格式:
[修饰符] class 类名{ //使用class关键字加空格后加上类名 [成员属性] //也叫成员变量 [成员方法] //也叫成员函数 }
完整格式:
[修饰符] class 类名 [extends 父类] [implements 接口1[,接口2...]]{ [成员属性] //也叫成员变量 [成员方法] //也叫成员函数 }
成员属性
格式:
修饰符 $变量名[=默认值]; //如:public $name="zhangsan";
注意:成员属性不可以是带运算符的表达式、变量、方法或函数调用。
public $var3 = 1+2; //错误格式 public $var4 = self::myStaticMethod(); //错误格式 public $var5 = $myVar; //错误格式
正确定义方式:
public $var6 = 100; //普通数值(4个标量:整数、浮点数、布尔、字串) public $var6 = myConstant; //常量 public $var7 = self::classConstant; //静态属性 public $var8 = array(true, false); //数组
常用属性修饰符:public、protected、private、static、var(过时)
成员方法
成员方法格式:
[修饰符] function 方法名(参数..){ [方法体] [return 返回值] }
修饰符:public、protected、private、static、abstract、final
声明的成员方法必须和对象相关,不能是一些没有意义的操作
//下面声明了几个人的成员方法,通常将成员方法声明在成员属性的下面 public function say(){ //人可以说话的方法 echo "人在说话"; //方法体 } public function run(){ //人可以走路的方法 echo "人在走路"; //方法体 } <?php //声明一个电话类,类名为Phone class Phone { //声明4个与电话有关的成员属性 public $Manufacturers; //第一个成员属性,用于存储电话的外观 public $color; //第二个成员属性,用来设置电话的外观颜色 public $Battery_capacity; //第三个成员属性,用来定义电话的电池容量 public $screen_size; //第四个成员属性,用来定义电话的屏幕尺寸 //第一个成员方法用来声明电话具有接打电话的功能 public function call(){ echo "正在打电话"; //方法体,可以是打电话的具体内容 } //第二个成员方法用来声明电话具有发信息的功能 public function message(){ echo "正在发信息"; //方法体,可以是发送的具体信息 } //第三个成员方法用来声明电话具有拍照的功能 public function photo() { echo "正在拍照"; //方法体,可以是拍照的整个过程 } }
热心网友 时间:2022-04-28 06:08
将成员变量私有化,并使用公有接口去访问,是为了保证数据的正确性,保证对象能够正常工作。
对象有两个作用,一是保存数据,二是拥有操作数据的方法。对象就是一个黑盒子,隐藏数据操作细节,而我们可以轻松地处理和取得数据,不需要了解内部的处理过程。对象的数据只由它自己去处理,没有外部干涉,这样的数据是安全的可信任的。
如果我们能够任意改变对象的数据,就是对其密封性的破坏。在"外力"的作用下,对象拥有的数据类型和值发生改变,很可能会影响其内部的处理过程,严重时会发生错误。
示例一:
class Division{在上例中,虽然构造函数对传入的变量经行了过滤,但由于变量是公有的,用户“不小心”更改了$b的值,造成了程序异常。
使用函数来访问变量,可以对变量经行预处理,防止用户传入了不合法的值。这就像是在对象的前面加上了一道“防火墙”,保证程序正常地工作。
示例二:
class A{在上例中,属性$a是私有的,只能通过setA()方法来设置。setA()方法中使用了PHP的“类型提示”功能,这就要求传入的参数必须是A的实例。在函数中的代码又检查了$a对象是否含有可以调用的$a->call()方法,如果失败就会抛出异常。从而保证了传入变量的正确性。
希望能帮到您~也希望能够及时采纳~