为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
PHP面向对象编程_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

PHP面向对象编程

Peter 其它
难度初级
时长 3小时14分
  • 面向对象––实例解析
    查看全部
  • 面向对象––实质
    查看全部
  • 为什么要使用面向对象?
    查看全部
  • 什么是面向对象?
    查看全部
  • 对象的特点
    查看全部
  • 对象的基本组成
    查看全部
  • 什么是对象?
    查看全部
  • public function __get($name){ return "Getting the property: ".$name; } public function __set($name,$value){ echo "Setting the property:".$name." to value:".$value."\n"; } $obj=new MagicTest(); echo $obj->className."\n"; $obj->className = "MagicClassX";
    查看全部
  • /* 在给不可访问属性'赋值'时,__set()会被调用。 '读取'不可访问属性的值时,__get()会被调用。 当对不可访问属性调用'isset()'或'empty()'时,__isset()会被调用。 当对不可访问属性调用'unset()'时,__unset会被的调用。 */
    查看全部
  • <?php class MagicTest{ //__tostring 会在把对象转换为string的时候自动调用 public function __tostring(){ return "This is the Class MagicTest.\n"; } //__invoke 会在把对象当作一个方法调用的时候自动调用 public function __invoke($x){ echo "__invoke called with parameter ".$x."\n"; } //方法的重载 (overload) //第一个参数是调用方法的名称;第二个参数是方法调用的参数组成的数组。 public function __call($name,$arguments){ //implode:分割数组 echo "Calling ".$name." with parameters: ".implode(",",$arguments)."\n"; } //静态方法的重载,注意这个方法需要设定为static public static function __callStatic($name,$arguments){ echo "Static Calling".$name." with parameters: ".implode(",",$arguments)."\n"; } } $obj=new MagicTest(); //echo $obj; //echo $obj(5); $obj->runTest("para1","para2"); MagicTest::runTest("para1","para2"); ?>
    查看全部
  • <?php class MagicTest{ //__tostring 会在把对象转换为string的时候自动调用 public function __tostring(){ return "This is the Class MagicTest.\n"; } //__invoke 会在把对象当作一个方法调用的时候自动调用 public function __invoke($x){ echo "__invoke called with parameter ".$x."\n"; } } $obj=new MagicTest(); echo $obj; echo $obj(5); ?>
    查看全部
  • <?php //abstract关键字用于定于抽象类 abstract class ACanEat{ //在抽象方法前面添加abstrac关键字可以标明这个方法时抽象方法而不需要具体实现 abstract public function eat($food); //抽象类中可以包含普通的方法,有方法的具体实现 public function breath(){ echo "Breath use the air. \n"; } } //继承抽象类的关键字是extends class Human extends ACanEat{ //继承抽象类的子类需要实现抽象类中定义的抽象方法 public function eat($food){ echo "Human eating ".$food."\n"; } } class Animal extends ACanEat{ public function eat($food){ echo "Animal eating ".$food."\n"; } } $man=new Human(); $man->eat('Apple'); $man->breath();//和animal类共有了抽象类中breath方法 $monkey=new Animal(); $monkey->eat('Banana'); $monkey->breath(); ?>
    查看全部
  • $obj=new Human(); $obj->eat('Apple'); $monkey=new Animal(); $monkey->eat('Banana'); //相同的一行代码,对于传入不同的接口的实现的对象的时候,表现是不同的。这就是多态。 checkEat($obj); checkEat($monkey);
    查看全部
  • //不能实例化接口 //instanceof(1)判断一个对象是否是某个类的实例 //instanceof(2)判断一个对象是否实现了某个接口 var_dump($obj instanceof ICanEat); function checkEat($obj){ if($obj instanceof ICanEat){ $obj->eat('food'); }else{ echo "The obj can't eat.\n"; } } checkEat($obj); checkEat($monkey); //可以用extends让接口继承接口 interface ICanPee extends ICanEat{ public function pee(); } //当类实现子接口时,父接口定义的方法也需要在这个类里实现 class Human1 implements ICanPee{ public function eat($food){} public function pee(){} }
    查看全部
  • <?php //interface关键字用于定义接口 interface ICanEat{ //接口里面的方法不需要有方法的实现 public function eat($food); } // implements关键字用于表示类实现某个接口 class Human implements ICanEat{ //实现了某个接口之后,必须提供接口中定义的方法的具体实现。 public function eat($food){ echo "Human eating ".$food."\n"; } } $obj=new Human(); $obj->eat('Apple'); ?>
    查看全部

举报

0/150
提交
取消
课程须知
1、本门课程是立志想成为优秀程序员的必修课 2、基本概念部分适合所有人学习 3、实践部分则需要有基本的PHP知识,这样会更加有利于你对面向对象的理解和掌握
老师告诉你能学到什么?
1、面向对象的基本概念 2、面向对象的基本思路 3、面向对象的基本原则 4、类的概念和PHP实践 5、继承的概念和案例实践 6、接口的概念和案例实践 7、多态的概念和案例实践 8、PHP中的魔术方法基本实践
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!