Blogger Information
Blog 25
fans 2
comment 0
visits 18566
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP教学-OOP编程基本流程,面向对象编程_12.3
果莫个人博客
Original
1262 people have browsed it

demo1

<?php//添加类class Demo1{    //添加类成员    public $site ='php中文网';    public function getsite() {    }}//访问类成员$obj= new Demo1;echo $obj->site;

demo2

<?php//添加类class Demo2{    //添加类成员    public $site ='php中文网';    public $role='讲师';    public function getsite() {        //访问类成员//        $obj= new self;//        return $obj->site;        return $this->site;    }    public function getrole() {        //访问类成员//        $obj= new self;//        echo $obj->role;        //$this是当前类的实例的引用,它始终与当前类的实例绑定//        self绑定当前类,$this是绑定当前类的实例。        return $this->role;    }}//访问类成员$obj= new Demo2(); //函数调用。$obj= new Demo2;echo $obj->site;echo $obj->getrole();

demo3

<?php//添加类class Demo3{    //添加类成员    public $site;    public $role;    public function getinfo()    {        return '我是:'.$this->site . '来自'. $this->role ;    }    //构建方法:1.类实例的初始化;2.自动完成在类实例创建过程中的操作;    public function __construct($site,$role)    {        //1.初始化类成员        $this->site = $site;        $this->role = $role;//        //2.创建类实例//        $obj= new self;//////        //3.添加类成员//        $obj->site =$this->site;//        $obj->role =$this->role;        echo $this->getinfo();        //4.返回类实例//        return $obj;    }}//访问类成员 new Demo3('朱老师','php中文网');echo '<hr>';class Demo33{    public $site;    public $role;    public function getsite(){        return '我是:'. $this->site . '来自' . $this->role;    }    public function __construct($site,$role)    {        $this->site = $site;        $this->role = $role;        echo $this->getsite();    }}new Demo33('朱老师','PHP中文网');

demo4

<?php    //添加类    class Demo4{    //添加类成员...private私有成员。protected类内子类可访问。    public $site;    protected $role;    public function getinfo()    {        return '我是:'.$this->site . '来自'. $this->role ;    }    //构建方法:1.类实例的初始化;2.自动完成在类实例创建过程中的操作;    public function __construct($site,$role)    {        $this->site = $site;        $this->role = $role;    }//    public function getrole()//    {//        $username = $_GET['username'] ?? '';//        if (isset($username)&& $username ==='admin')//        {//            return $this->role;//        }else//            {//            return '无权访问';//            }//    }//        public function __get($name)//        {//            return isset($this->$name) ? $this->$name :'未定义属性';//        }        public function __get($name)        {            $username = $_GET['username'] ?? '';            if (isset($username)&& $username ==='admin')            {                return isset($this->$name) ? $this->$name :'未定义属性';            }else            {                return '无权访问';            }        }}//访问类成员$obj =new Demo4('www.php.cn','PHP中文网');//    echo $obj->getrole($name);//    echo $obj->name;echo $obj->role;echo $obj->name;

demo5

<?php    //添加类    class Demo5        {            //添加类成员...private私有成员。protected类内子类可访问。            public $site;            protected $role;            public function getinfo()            {                return '这里是:'.$this->site . ' 讲师是:'. $this->role ;            }            //构建方法:1.类实例的初始化;2.自动完成在类实例创建过程中的操作;            public function __construct($site,$role)            {                $this->site = $site;                $this->role = $role;            }        }     class Demo5_1 extends Demo5     {         private $course;         public function __construct($site, $role,$course)         {             parent::__construct($site, $role);             $this->course = $course;         }         public function getinfo()         {             return parent::getinfo() .',负责的课程是:'.$this->course;   // TODO: Change the autogenerated stub         }     }//访问类成员$sub =new Demo5_1('php中文网','神奇朱老师','php编程');    echo $sub->getinfo();

demo6

<?php//trait不能实例化,不是类,当做公共方法库。trait Test{    public function getinfo()    {        return '这里是:'.$this->site . ' 讲师是:'. $this->role;    }}    //添加类    class Demo6        {            //添加类成员...private私有成员。protected类内子类可访问。            public $site;            protected $role;            use Test;//            public function getinfo()//            {//                return '这里是:'.$this->site . ' 讲师是:'. $this->role ;//            }            //构建方法:1.类实例的初始化;2.自动完成在类实例创建过程中的操作;            public function __construct($site,$role)            {                $this->site = $site;                $this->role = $role;            }        }//  trait:还可以用在类的父子类关系中     class Demo6_1 extends Demo6     {         private $course;         public function __construct($site, $role,$course)         {             parent::__construct($site, $role);             $this->course = $course;         }         public function getinfo()         {             return parent::getinfo() .',负责的课程是:'.$this->course;   // TODO: Change the autogenerated stub         }     }//访问类成员$sub =new Demo6('php中文网','Peter zhu');    echo $sub->getinfo();    echo '<hr>';$sub2 =new Demo6_1('php中文网','Peter zhu','子类加第三个');echo $sub2->getinfo();

demo7

<?php//接口//对象的模板是类,类的模板是接口。//object——class--interface//面向接口编程是最重要的面向对象编程思想之一。//接口中没有方法的具体实现,接口不能实例化。interface iDemo{    //接口方法    public function getinfo();    public  function hello();}    //添加类//    Demo7工作类    class Demo7 implements iDemo        {            //添加类成员...private私有成员。protected类内子类可访问。            public $site;            protected $role;            public function getinfo()            {                return '这里是:'.$this->site . ' 讲师是:'. $this->role ;            }            public function hello()            {                return'hello,大家吃饱了吧';   // TODO: Implement hello() method.            }        //构建方法:1.类实例的初始化;2.自动完成在类实例创建过程中的操作;            public function __construct($site,$role)            {                $this->site = $site;                $this->role = $role;            }        }//访问类成员$obj=new Demo7('Demo7第一个参数','demo7---2参数');echo $obj->getinfo().'<br>';echo $obj->hello();

demo8

<?php    //抽象类:不能实例化,做父类。    //接口中有抽象方法,抽象中有抽象方法也有已实现的方法。    abstract class Chouxiang    {        abstract public function getinfo();        public function hello()        {            return'hello,大家吃饱了吧';        }    }    //添加类//    Demo8工作类    class Demo8 extends Chouxiang        {            //添加类成员...private私有成员。protected类内子类可访问。            public $site;            protected $role;            public function getinfo()            {                return '这里是:'.$this->site . ' 讲师是:'. $this->role ;            }//            public function hello()//            {//                return'hello,大家吃饱了吧';   // TODO: Implement hello() method.//            }        //构建方法:1.类实例的初始化;2.自动完成在类实例创建过程中的操作;            public function __construct($site,$role)            {                $this->site = $site;                $this->role = $role;            }        }//访问类成员$obj=new Demo8('Demo8第一个参数','demo8---2参数');echo $obj->getinfo().'<br>';echo $obj->hello();

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:复习课程 的作业 , 还能这样认真的完成, 相当棒
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post