博客列表 >PHP教学-OOP编程基本流程,面向对象编程_12.3

PHP教学-OOP编程基本流程,面向对象编程_12.3

果莫个人博客
果莫个人博客原创
2023年01月16日 22:57:351274浏览

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();

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议