zoukankan      html  css  js  c++  java
  • 深入理解多态

    一、里氏替换原则:
    1.子类对象可以赋给父类变量,也可以说子类可以替换父类并且出现在父类能够出现的任何地方,且程序的行为不会发生变化,但是反过来,父类对象不能替换子类对象的,。这种特性被称作“里氏替换原则”。
    eg:People p = new Student(); //可以
    Student s = new People(); //不可以
    二、is和as的用法:
    1.is是用来判断类型的(检查对象和指定的类型是否兼容)
    2.as是用来转换类型的(主要用在两个对象之间)
    三、父类类型作为参数:
    1.里氏替换原则指出子类对象可以替换父类对象,那么在开发程序时,可以编写以父类类型作为形式参数的方法,在实际调用时传入子类对象,从而实现多态。
    2.eg:
    父类
    public class TrafficTool{
    public virtual void Run(){
    Console.WriteLine(“车在行驶”);
    }
    }
    //子类
    public class Bus:TrafficTool{
    public override void Run(){
    Console.WriteLine(“公共汽车在行驶”);
    }
    }
    //测试类
    public class Test{
    public static void main(String []args){
    Student stu = new Student(1,“张三”);
    stu.GoHome(new Bus());//传递实际创建的子类对象
    }

    	}
    

    四、抽象类和抽象方法:
    1.抽象类:
    语法:public abstract class 类名{}
    2.含有抽象方法的类必然是抽象类,但是抽象类里面的方法不一定都是抽象方法
    3.抽象类不能实例化
    4.抽象方法:没有方法体,语法是:访问修饰符 abstract 返回值类型 方法名();
    五、面向对象的三大特征:
    1.封装:保证对象自身数据的完整性和安全性
    2.继承:建立类之间的关系,实现代码复用,方便系统的扩展
    3.多态:相同的方法调用可实现不同的实现方式。

  • 相关阅读:
    转载--php函数使用--var_export
    ZkApi的方法跨域访问ZkResource的静态资源文件出现的问题
    修改html内联样式的方法
    linux下的npm安装
    爬虫之静态网页爬虫(基础知识)
    利用jQuery使用HTML的formdata属性实现文件上传
    细说form表单
    session
    cookie和session(会话跟踪)
    同源策略和跨域问题
  • 原文地址:https://www.cnblogs.com/a1111/p/12815852.html
Copyright © 2011-2022 走看看