Php之面向对象编程

面向对象内容

对象是由属性与方法组成,对象中的属性其实就是之前学习的变量,对象中的方法其实就是之前学习的函数。

  1. − 定义了一件事物的抽象特点。类的定义包含了数据的形式以及对数据的操作。
  2. 对象 - 是类中的一个实例。
  3. 成员函数 - 类中的一个方法,可用于访问对象中的属性。
  4. 成员变量 - 定义在类中的变量,该变量对外不可见,可以通过函数成员访问,在类被实例化为对象后,该变量即可称为对象的属性。
  5. 父类 − 一个类被其他类继承,可将该类称为父类,或基类,或超类。
  6. 子类 − 一个类继承其他类称为子类,也可称为派生类。
  7. 继承 − 继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。

访问控制

  • PHP中private和public还有protected的区别。
  • public(公有): 公有的类成员可以在任何地方被访问。
  • protected(受保护): 受保护的类成员则可以被其自身以及其子类和父类访问。
  • private(私有): 私有的类成员则只能被其定义所在的类访问。

面向对象实例如下:

class person{
   function module($name,$gender,$wage){
       $this->name = $name;
       $this->gender = $gender;
       $this->wage = $wage;
   }
   function say(){
       print "name: ".$this->name." gender: ".$this->gender." wage: ".$this->wage;
   }
}
class home extends person{
   private $home //可在此声明一个受保护的变量
   function coustruct($name,$gender,$wage,$home){
   	parent::_coustruct($name, $gender, $wage); 
/*不管是函数名还是预定义变量名 有下划线的 都是广泛使用函数或者变量
目的应该是避免跟用户自定义的名字冲突
命名的规则
加一个为私有的
加两个一般都是系统默认的*/
       $this->name = $name;
       $this->gender = $gender;
       $this->wage = $wage;
       $this->home = $home;
   }
   function say(){
   	parent::say(); //直接调取父类中的say方法(函数)
       print "name: ".$this->name." gender: ".$this->gender." wage: ".$this->wage." home: ".$this->home;
   }
}
$jensen = new home();
$jensen->coustruct("jensen","man","7k","poor");
$jensen->say();
$kiity = new home();
$kiity->coustruct("kitty","girl","20k","rich");
$kiity->say();
?>

常量基本应用

<?php
class const_use{
	const word = "test this const method";
	function _construct(){
		echo self::word.PHP_EOL;
		//self:: 指向类的本身,通常用于调用静态变量值;
	}
}
//以下是输出常量方式类别:
echo $const_use::word.PHP_EOL;
$test = new const_use();
$test->_construct(); 

1. $smarty->assgin();是调用$smarty类下的assgin()方法。
2. $arr("1"=>"苹果","2"=>"橘子");是数组定义,"1"是键名,"苹果"是键值。

面向对象之接口

  1. 接口中定义的所有方法都必须是公有。
  2. 要实现一个接口,使用 implements 操作符。
  3. 类中必须实现接口中定义的所有方法,否则会报一个致命错误。
  4. 类可以实现多个接口,用逗号来分隔多个接口的名称。

匿名函数

  1. 闭包也就是PHP的匿名函数, 但是和函数不同的是,闭包可以通过use使用函数声明时所在作用域的变量的值。
function getnumber(){
    $func = function ($str){
        print $str;
    };
    return $func ;
}
$print_func = getnumber();
$print_func("hello kitty.");
//返回结果是: hello kitty.
//闭包函数还有个参数是use函数该函数作用是减少foreach循环减少代码量。
发布了39 篇原创文章 · 获赞 13 · 访问量 3371

猜你喜欢

转载自blog.csdn.net/qq_30036471/article/details/99283533