• 2016/3/22 面向过程 面向对象:①多态 ②引入页面加载类


    面向过程:每一步骤,步步推进,重复使用性差。

    面向对象:封装(class类,function方法,new初始化),重复使用性强。

     例子:

     1 //面向过程
     2 $r1=20;
     3 $r2=10;
     4 $mj=3.14*$r1*$r1-3.14*$r2*$r2;
     5 echo $mj;
     6 
     7 //面向对象
     8 class yuan
     9 {
    10     private $r;
    11     function __construct($r)
    12     {
    13         $this->r=$r;
    14     }
    15     function mj()
    16     {
    17         return 3.14*$this->r*$this->r;
    18     }
    19 }
    20 $yuan1=new yuan(10);
    21 $yuan2=new yuan(20);
    22 echo $yuan2->mj()-$yuan1->mj();

    ①多态:父类引用指向子类实例,由于子类的不同,所表现出的差别,就是多态。
    注意:
    1,Java中多态的实现方式:接口实现,继承父类进行方法重写,同一个类中进行方法重载。
    2,子类继承父类方法是重写。类不同。
    3,同一类中类型不同,数量不同,是方法的重载。

    例:

     1 class Ren
     2 {
     3     public $name;
     4     public $age=10;
     5     
     6     public function Say()
     7     {
     8 
     9     echo $this->name."正在说";
    10     }
    11     function __construct($n)
    12     {
    13         $this->name=$n;
    14     }
    15     function __tostring()
    16     {
    17         return "成员变量name的值为:".$this->name."<br>"."成员方法Say()的作用是...";
    18     }
    19     function __clone()    //克隆的方法
    20     {
    21         $this->age=20;//$this找的是复本
    22         //$that->aa=16;//$that找的是原本,老版本中有,新版本中已弃用。
    23     }
    24 
    25     
    26 }
    27 $ren=new Ren("aa");
    28 $r2=clone $ren; //克隆 $ren  
    29 echo $r2; 

    30 var_dump($ren);

    31 var_dump($r2);

    显示效果:

    继承中的重写

     1 class Ren
     2 {
     3     public $name;
     4     public $age=10;
     5     
     6     public function Say()
     7     {
     8 
     9         echo $this->name."正在说";
    10     }
    11     function __construct($n)
    12     {
    13         $this->name=$n;
    14     }
    15     function __tostring()
    16     {
    17         return "成员变量name的值为:".$this->name."<br>"."成员方法Say()的作用是...";
    18     }
    19     function __clone()
    20     {
    21         $this->age=20;//$this找的是复本
    22         $that->aa=16;//$that找的是原本,老版本中有,新版本中已弃用。
    23     }
    24 
    25     
    26 }
    27 
    28 class China extends Ren
    29     {
    30         public function Say()
    31         {
    32             echo "你好!";
    33         }
    34     }
    35 $ren=new China("hello");
    36 $ren->Say();
    37 echo $ren->name;

    显示效果:

    ② 引入  

    方式:

    相对路径:从当前文件找到另一个文件路径。

    include("文件名.php");//同级目录下

    include"../文件名.php";  //上级目录

    require_once("文件名.php");//同级目录下

    require_once"文件夹名/class.php";//下级目录

    自动加载类

    1 function __autoload($classname)
    2 {
    3     require_once"class_".$classname.".php";
    4 }

    例子:

    1 include("text6.php");
    2 $test=new Text();
    3 var_dump($test);
    4 $test->run();

    显示效果:

  • 相关阅读:
    java开发规范总结_代码编码规范
    java开发规范总结_代码注释规范
    Android简单例子——IpHone样式AlertDialog
    Java的split方法说明
    Android简单例子——AlertDialog
    Android增加监听的三种实现方式
    Android学习笔记(SQLite的简单使用)
    【公告】新博客、新地址,欢迎交换友链
    【公告】博客迁移中,暂停更新...
    【System】Install chromium os in vmware workstation
  • 原文地址:https://www.cnblogs.com/haodayikeshu/p/5305733.html
Copyright © 2020-2023  润新知