PHP 对象 多态性

/*
 * 多态特性
 * 1.程序扩展准备
 * 必须有继承关系,父类最好是接口或抽象类
 */
 //定义接口
interface USB{
    const WIDTH  = 12;
    const HEIGHT = 3;
    function load();
    function run();
    function stop();
}
//定义电脑类
class Computer{
    function useUSB(USB $usb){
        $usb->load();
        $usb->run();
        $usb->stop();
    }
}

//定义鼠标类 实现USB接口
class Mouse implements USB{
    function load(){
        echo ‘加载鼠标成功!<br/>‘;
    }
    function run(){
        echo ‘运行鼠标功能!<br/>‘;
    }
    function stop(){
        echo ‘鼠标工作结束!<br/>‘;
    }
}

//定义键盘类 实现USB接口
class KeyBoard implements USB{
    function load(){
        echo ‘加载键盘成功!<br/>‘;
    }
    function run(){
        echo ‘运行键盘功能!<br/>‘;
    }
    function stop(){
        echo ‘键盘工作结束!<br/>‘;
    }
}

//定义工作者类
class Worker{
    function useC(){
        $c = new Computer();
        $m = new Mouse();
        $k  = new KeyBoard();
        //调用电脑类中的方法 传入鼠标对象参数
        $c->useUSB($m);
        //调用电脑类中的方法 传入键盘对象参数
        $c->useUSB($k);
    }
}
$w = new Worker();
$w->useC();
时间: 2024-11-08 20:27:35

PHP 对象 多态性的相关文章

对象多态性分析

所谓对象多态性即是指子类与父类之间的相互转换关系. 向上转型:父类  父类对象 = 子类实例 向下转型:子类  子类对象 = (子类) 父类实例 只有先进行向上转型才能向下转型. <pre name="code" class="java">class A{ public void fun1(){ System.out.println("1.A类 --> public void fun1(){}") ; } public void

对象多态性

基本概念的解释. 多态性的依赖条件是方法的覆写!! 观察如下的一个程序: class A{ public void print(){ System.out.println("A--print()") ; } } class B extends A{ public void print(){ System.out.println("B--print()") ; } } public class Test{ public static void main(String

PHP 对象 多态性 简单图形计算器 高洛峰 细说PHP

主程序页面 test.php页面 <!DOCTYPE html> <html> <head>     <title>简单的图形计算器</title>     <meta http-equiv = "Content-Type" content = "text/html;charset=utf-8" /> </head> <body>     <center>  

面向对象高级——接口的基本概念和对象的多态性

接口 需要掌握接口的定义格式及使用 掌握接口与抽象类的关系 具体内容: 接口是Java中最重要的概念,接口可以理解为一种特殊的类,里面全部是由全局常量和公共的抽象方法所组成. 如果一个类中完全是由全局常量(static final声明)和抽象方法组成,就可以将其定义成一个接口. 接口的定义格式: interface 接口名称{    全局常量:    抽象方法: }   interface A{ // 定义接口A public static final String AUTHOR = "刘勋&q

java总结第三次//类和对象2、3

四.类和对象2 主要内容:Java类的继承.方法的重写.覆盖.访问控制.super 关键字.多态性及其应用 1.继承 要求:Java只支持单继承,不允许多重继承 一个子类只能有一个父类 一个父类可以派生出多个子类 子类继承了父类,就继承了父类的方法和属性. 在子类中,可以使用父类中定义的方法和属性,也可以创建新的数据和方法. 因而,子类通常比父类的功能更多. 在Java 中,继承的关键字用的是“extends”,即子类是对父类的“扩展”. 注意:子类不能继承父类中私有的(private)成员变量

java面向对象- 多态性的体现和使用

多态体现: 方法的重载和重写 对象的多态性 2.对象的多态性: 向上转型:程序会自动完成 父类 父类对象 = 子类实例 向下转型:强制类型转换 子类 子类对象 = (子类)父类实例 class A{ public void tell01(){ System.out.println("A--tell01"); } public void tell02(){ System.out.println("A--tell02"); } } class B extends A{

5、static、final、匿名对象、内部类、包、修饰符、代码块

final关键字 final关键字概念 * A: 概述 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承, 或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后, 就可以对其中的方法进行重写,那怎么解决呢? 要解决上述的这些问题,需要使用到一个关键字final,final的意思为最终,不可变. final是个修饰符,它可以用来修饰类,类的成员,以及局部变量. final修饰类义 * A: final 修饰类 final修饰类不

字节流与字符流简单操作(OutputStream、InputStream、Writer、Reader)

操作流程 使用File类打开一个文件 通过字节流或者字符流的子类.指定输出的位置. 进行读/写操作 关闭输入/出 字节流与字符流 在java.io包中操作文件内容主要有两大类:字节流字符流.两大类分为输入和输出操作,在字节流中输出数据主要是OutputStream完成,输入使用InputStream,在字符流冲输出主要是使用Writer类完成,输入主要是Reader完成 字节流 字节流主要是操作byte类型数据,以byte数组为准,主要操作类是OutputStream和InputSream 字节

java面向对象(串)

面向对象的三条主线:1.类及类的成分 2.面向对象的三大特性  :封装.继承.多态3.其他的关键字:this super import package abstract static final interface等 1.java程序是关注于类的设计.类从代码的角度:并列关系! 从执行.设计的角度:关联关系.继承关系.聚合关系class A{ } class B{ A a = new A();}2.类的成分:属性 方法 构造器 代码块 内部类 2.1 属性:①变量的分类:成员变量(属性 Fiel