深圳装饰网站建设,用vs做网站在安装时要勾选,wordpress的地址在本地,家装公司利润一般多少1、PHP的面向对象与其他语言类似#xff0c;但也有不同。
PHP访问成员变量时#xff0c;需要用“-”#xff0c;而不能用“.”#xff0c;访问成员函数时#xff0c;需要用“-”#xff0c;而不能用“.”。操作符“::”可以在没有任何声明实例的情况下访问类中的…1、PHP的面向对象与其他语言类似但也有不同。
PHP访问成员变量时需要用“-”而不能用“.”访问成员函数时需要用“-”而不能用“.”。操作符“::”可以在没有任何声明实例的情况下访问类中的静态成员必须用static定义。PHP用new实例化对象时类名后面的括号可以省略。new className()new className都是可以的当然构造函数是需要没有参数的。
2、在类中用var定义成员变量var定义的成员变量都是公开的。
3、创建子类时用extends继承父类。
一个类的例子如下
?php
class Site{//成员变量var $url;//用var定义成员变量为公有变量var $title;//成员函数function setUrl($par){$this-url$par;}function getUrl(){echo $this-url.PHP_EOL;}function setTitle($par){$this-title$par;}function getTitle(){echo $this-title.PHP_EOL;}
}class subSite extends Site{var $category;function setCat($par){$this-category$par;}function getCat(){echo $this-category.PHP_EOL;}function getUrl(){//方法重载echo $this-url.PHP_EOL;return $this-url;}function getTitle(){echo $this-title.PHP_EOL;return $this-title;}
}$taobaonew Site;//用默认的构造函数可以不加括号
$googlenew Site();$taobao-setTitle(淘宝);//只能用箭头访问成员函数
$google-setTitle(谷歌搜索);$taobao-setUrl(taobao.com);
$google-setUrl(google.com);$taobao-getTitle();
$google-getTitle();$taobao-getUrl();
$google-getUrl();
?
输出如下 4、 PHP自己实现构造函数时用__construct。注意前缀时两根下划线。
?php
class myClass{function __construct(){//两根下划线print 构造函数\n;$this-namemyClass;}function __destruct(){print 销毁.$this-name.\n;}
}
echo start.PHP_EOL;
$objnew myClass();
echo end.PHP_EOL;
?
输出结果构造函数在实例化对象时调用当对象结束其生命周期时例如对象所在的函数已调用完毕系统自动执行析构函数。 5、类中的方法可以被定义为公有私有或受保护。如果没有设置这些关键字则该方法默认为公有。
6、使用接口interface可以指定某个类必须实现哪些方法但不需要定义这些方法的具体内容。
接口中定义的所有方法都必须是公有这是接口的特性。
类中必须实现接口中定义的所有方法。
类可以实现多个接口用逗号来分隔多个接口的名称。
?php
interface iTemplate{public function setVariable($name,$var);public function getHtml($template);
}
class Template implements iTemplate{public static $var11;//静态属性public $var23;public $varsarray();public function setVariable($name,$var){$this-vars[$name]$var;}public function getHtml($template){foreach ($this-vars as $name $value) {$templatestr_replace({.$name.},$value,$template);}return $template;}
}
$iTnew Template;
$iT-setVariable(golden states,curry);echo $iT::$var1.PHP_EOL;//静态属性用实例访问有$符号
echo Template::$var1.PHP_EOL;//静态属性用类名访问$符号
echo $iT-var2;//箭头后面没$。
print_r($iT-vars);//访问数组
var_dump($iT-vars);
?
7、PHP 对属性或方法的访问控制是通过在前面添加关键字 public公有protected受保护或 private私有来实现的。
public公有公有的类成员可以在任何地方被访问。protected受保护受保护的类成员则可以被其自身以及其子类和父类访问。private私有私有的类成员则只能被其定义所在的类访问。
?php
class myClass{public $public public;protected $protectedprotected;private $privateprivate;function printHello(){echo $this-public.PHP_EOL;echo $this-protected.PHP_EOL;echo $this-private.PHP_EOL;}
}
$onew myClass;
echo $o-public;
//echo $o-protected;
//echo $o-private;
$o-printHello();class subClass extends myClass{protected $protectedsub protected;function printHello(){echo $this-public.PHP_EOL;echo $this-protected.PHP_EOL;//输出子类的protectedecho $this-private.PHP_EOL;}
}
$o2new subClass();
echo $o2-public;
//echo $o2-private;
//echo $o2-protected;
$o2-printHello();
?