php oop Study1

来源:互联网 发布:dw软件破解版 编辑:程序博客网 时间:2024/06/05 15:42
<?php#类和对象的关键概念#java中也是有类的概念,大同小异echo '学习php的类'.'</br>';class human{var $name;var $hight;function work($work){echo '我的工作是:'.$work.'</br>';}function  like($like){echo '我喜欢'.$like.'</br>';}}$man=new human();$man->name='HuWeiLiang';$man->hight='175cm';echo '我的名字是:'.$man->name.'</br>我的身高是:'.$man->hight.'</br>';$man->work('程序员');$man->like('basketball');#访问修饰符 和java类似:#public 这意味着如果没有为一个属性或方法指定访问修饰符,它将是pubilc.公有的属性或方法可以在类的内部和外部进行访问。#private 访问修饰符则意味着被标记的属性或方法只能在类的内部进行访问,但在所在类之外不能改变或读取private属性的值,也不能调用private方法。所继承的子类也不能访问父类中的private成员。如果没有使用get和set方法,则可能会对所有属性都使用这个关键字。#protected访问修饰符意味着被标记的属性或方法只能在类的内部进行访问。它存在于任何子类中;也可以将protected理解成位于private和public之间的关键字。echo '常量'.'</br>';#类中用const关键字来定义一个常量class product{const PRODUCT_INTRODUCE='Power by ShopNC';function show(){echo "PRODUCT_INTRODUCE:".self::PRODUCT_INTRODUCE;}}$product=new product();$product->show();echo ''.'</br>';echo 'this关键字的使用'.'</br>';class human_other{private $name;function  setName($name){$this->name=$name;}function getName(){echo $this->name.'</br>';}}$human1=new human_other();$human1->setName('JIM');$human1->getName();echo '<hr/>'.'</br>';//分隔线echo '构造函数的使用'.'</br>';#构造函数可以接受参数,能够在创建对象时将参数赋值给特定的对象字段。#构造函数可以调用类方法或其他函数#类的构造函数可以调用其他的构造函数,包括父类的构造函数#构造函数和java类似class human2{function __construct(){//构造函数}//php目前还不支持构造函数的重载}echo '</br>';//分隔线echo '析构函数的使用'.'</br>';#析构方法和构造方法的作用是相对的,它在某个对象中的所有引用都被删除或对象被显式销毁时执行。析构方法是php5中新添加的方法。__destruct();#脚本执行结束时,PHP会撤销内存中的所有对象。因此,如果实例化的类和实例化时创建的信息都留在内存中,就不需要显式的声明析构函数。但是,如果实例化时创建了不容易丢失的数据(如存储在数据库中),就应该在对象销毁时销毁这些数据,为此就应该创建一个析构函数。class human_other2{private $name;function __construct(){}function  setName($name){$this->name=$name;}function getName(){echo $this->name.'</br>';}//析构函数function __destruct(){echo '销毁对象'.$this->name.'</br>';}}$human2=new human_other2();$human2->setName('TOM');$human2->getName();echo '</br>';//分隔线echo '静态类成员的使用'.'</br>';#类名称::静态方法名称(参数....)::符号称作范围解析操作符,它用于访问静态成员,静态方法和常量,还可以用于覆盖类中的成员和方法。class sta_num{static $num=0;}sta_num::$num++;echo sta_num::$num++;class sta_num1{static function show($num){echo "\$num:".$num;echo "<br/>\n";self::add($num);}static function add($num){echo "\$num+100=".($num+100);}}$num4=10;sta_num1::show($num4);echo '</br>';//分隔线echo '继承的使用'.'</br>';#PHP的继承和JAVA类似 使用关键字extends#class 子类名称  extends 父类名称{#  function 成员方法(){#}##}class human5{var $name;var $height;function __construct($name,$height){$this->name =$name;$this->height=$height;$this->introduce();}function introduce(){echo '我叫'.$this->name.' 我的身高是:'.$this->height."</br>\n";}}class worker extends human5{var $company;function working($company,$work){echo "我在".$company." 公司从事  ".$work."工作";}}$man =new worker('JIM', '180CM');$man->working('iphone', '软件');echo '</br>';//分隔线echo 'parent的使用'.'</br>';class human6{var $name;var $height;function __construct(){echo "这是父类的构造方法!".'</br>';}function introduce(){echo '我叫'.$this->name.' 我的身高是:'.$this->height."</br>\n";}}class worker1 extends human6{var $company;function __construct(){echo "这是子类的构造方法!".'</br>';parent::__construct();}}$man =new worker1();?>



学习php的类我的名字是:HuWeiLiang我的身高是:175cm我的工作是:程序员我喜欢basketball常量PRODUCT_INTRODUCE:Power by ShopNCthis关键字的使用JIM构造函数的使用析构函数的使用TOM静态类成员的使用1$num:10$num+100=110继承的使用我叫JIM 我的身高是:180CM我在iphone 公司从事 软件工作parent的使用这是子类的构造方法!这是父类的构造方法!销毁对象TOM


0 0
原创粉丝点击