zoukankan      html  css  js  c++  java
  • 抽象和接口(20161025)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
    
    <body>
    <?php
    
    //继承
    //子类可以继承父类的一切
    //特点:单继承
    //函数的重写
    
    //多态
    //当父类引用指向子类实例,由于子类对父类的方法进行了重写,父类引用在调用该方法的时候表现出的不同
    //如果一个方法需要一个父类的参数,可以给一个子类对象
    
    //静态
    //普通成员
    //普通成员是属于对象的
    
    //静态成员
    //静态成员属于类的
    
    //关键字:static
    //self关键字:在类里面代表该类
    //this关键字:在类里面代表该对象
    //在静态方法里面不能调用普通成员
    //在普通方法里面能够调用静态成员
    
    /*class FenBi
    {
        public $length; //粉笔的长度
        public static $color; //粉笔的颜色
        
        static function show()
        {
            echo "粉笔颜色是:".self::$color;//静态类里面使用静态成员
        }
        
        function XianShi()
        {
            echo "显示:".self::$color;
        }
    }
    
    $f = new FenBi(); //先造一个对象
    $f->length; //用对象去调用普通成员
    
    FenBi::$color = "红色"; //使用类名调用静态成员
    FenBi::show();
    $f->XianShi();*/
    
    //抽象
    //抽象类:关键字abstract
    //特点:不能被实例化,只能被继承
    //目的:为了派生子类,控制子类
    
    /*abstract class Dog
    {
        public $name;
        
        function Jiao()
        {
            echo "汪汪";
        }
    }
    
    class JinMao extends Dog
    {
        
    }*/
    
    //$d = new Dog();
    
    //接口    
    //极度抽象的类
    //接口里面不能包含成员变量,只能包含成员方法
    //成员方法可以没有函数体
    //接口关键字:interface
    //实现接口的类,必须实现接口里面的所有方法
    
    interface IUSB        //IUSB    USB的规则        I开头 表示规则
    {
        function read(); //读的方法
        function write(); //写的方法
    }
    
    //鼠标的驱动类        两个类都要实现
    class Mouse implements IUSB
    {
        function read()
        {
            echo "鼠标点击了";
        }
        function write()
        {
            echo "给鼠标一个指令";
        }
    }
    
    //键盘的驱动类
    class JianPan implements IUSB
    {
        function read()
        {
            echo "键盘输入了内容";
        }
        function write()
        {
            echo "给键盘指令";
        }
    }
    
    $m = new Mouse();
    $m->write();
    
    $j = new JianPan();
    $j->read();
    
    
    
    //接口:API
    
    //互联网数据公司提供的数据接口
    
    //比如淘宝的接口提供商品的价格
    
    
    
    
    
    
    
    
    ?>
    
    </body>
    </html>
  • 相关阅读:
    Eclipse使用之将Git项目转为Maven项目, ( 注意: 最后没有pom.xml文件的, 要转化下 )
    静态类型语言,动态类型语言的区别
    UT, FT ,E2E 测试的意思
    git tag 用法 功能作用
    java 常用异常及作用
    git checkout -b 分支name 分支的新建, 切换, 删除, 查看
    项目上有红色感叹号, 一般就是依赖包有问题, remove依赖,重新加载,maven的也行可认删除,自己也会得新加载
    密码学初级教程(五)消息认证码MAC-Message Authentication Code
    密码学初级教程(六)数字签名 Digital Signature
    密码学初级教程(四)单向散列函数-指纹-
  • 原文地址:https://www.cnblogs.com/zsczsc/p/6119396.html
Copyright © 2011-2022 走看看