PHP入门教程之面向对象的特性分析入门教程之面向对象的特性分析(继承继承,多态多态,接口接口,抽象类抽象类,
抽象方法等抽象方法等)
本文实例讲述了PHP面向对象的特性。分享给大家供大家参考,具体如下:
Demo1.php
<?php
header('Content-Type:text/html; charset=utf-8;');
//创建一个电脑类
class Computer {
//什么叫做类内,就是创建类的花括号内的范围叫做类内,其他地方则类外。
//public 是对字段的公有化,这个字段类外即可访问,赋值和取值
public $_name = '联想';
}
$computer = new Computer();
$computer -> _name = 'Dell';
echo $computer->_name;
?>
Demo2.php
<?php
header('Content-Type:text/html; charset=utf-8;');
class Computer {
//private 是私有化,即对字段进行封装的操作,类外无法访问,取值和赋值都不能操作
private $_name = '联想';
}
$computer = new Computer();
echo $computer->_name;
?>
Demo3.php
<?php
header('Content-Type:text/html; charset=utf-8;');
class Computer {
private $_name = '联想';
//这个时候我采用一个公共对外的方法来访问私有字段
//因为私有字段只能在类内访问,而对外的公共方法是类内的。
//更而公共方法又是公共的,所以类外又可访问。
public function _run(){
//字段在类内调用的时候必须是类 -> 字段,而$_name只是一个普通变量而已。
//字段在类外调用的方法是对象 -> 字段,而类内就必须使用 Computer -> _name
//但是在本类中,可以使用一个关键字来代替字来代替 Computer ,那就是 $this
echo $this ->_name;
}
}
$computer = new Computer();
$computer -> _run();
?>
Demo4.php
<?php
header ( 'Content-Type:text/html; charset=utf-8;' );
class Computer {
private $name;
private $model;
private $cpu;
private $keyboard;
private $show;
private $zb;
//必须写个对外的入口,才可以取到
public function getName() {
return $this->name;
}
//必须写一个对内的入口,对私有字段进行赋值
public function setName($name) {
//这里的 $name 只是一个变量而已,参数而已
//$this->name 才是类的字段
$this->name = $name;
}