zoukankan      html  css  js  c++  java
  • 面向对象 多态和静态

    三、多态

    1.编译多态
    函数重载


    2.运行多态
    概念:当父类引用指向子类实例的时候,由于子类对父类的方法进行了重写,在调用该方法的时候表现出的不同就称为多态
    条件必须要有继承 父类引用指向子类实例 子类必须对父类的方法进重写

    里氏代换原则:如果有一个地方需要使用到父类对象,那么你可以将一个子类对象给他

        class Program
        {
            static void Main(string[] args)
            {
             DongWu dw = new Dog();            
           Dog d
    = new Dog(); Console.WriteLine(Ceshi(dw)); Console.WriteLine(CeShi(d)); Console.ReadLine(); } public static string CeShi(DongWu d) { return "ok"; } } class DongWu { public virtual string Eat() //虚方法 { return "该动物在吃饭"; } } class Dog:DongWu { public override string Eat() //重写 { return "狗正在吃骨头"; } } class Cat : DongWu { public override string Eat() { return "猫正在吃鱼"; } }

    静态

    1.普通成员  普通成员都是属于对象的

                     用对象调用

    2.静态成员  静态成员是属于类的

          用类名调用

          stactic 静态关键字

    静态方法里面不能包含普通成员
    普通方法里面可以包含静态成员

    用处:1.为了简便

           连接数据库的时候,造连接对象类,使用静态属性直接返回连接对象。

         2.两个类之间传递信息

         3.不允许创建对象的类(对创建对象的个数有限制)

        class Program
        {
            static void Main(string[] args)
            {
                ZuHe zh = new ZuHe();
    
                //zh.name="张三"; //调用普通成员
                //ZuHe.zname = "五月天"; //调用静态成员
                ZuHe.Sing();
    
                Console.WriteLine(zh.Run());
                Console.ReadLine();
            }
        }
    
    
        class ZuHe
        {
            public string name="李四"; //普通成员,组合里面某个人的名字
    
            public static string zname = "李四"; //静态成员,组合名字
    
            public static string Sing() //静态方法
            {
                return "正在唱歌";
            }
    
            public string Run() //普通成员
            {
                return zname+"正在奔跑"; 
            }
        }
  • 相关阅读:
    正则表达式中?=和?:和?!的理解
    Python isinstance() 函数
    什么是REST架构
    [iOS常见问题] 关于使用QQ做第三方登录的问题!
    js与webview 常用交互代码
    AFNetworking 使用 核心代码
    NSString / NSData / char* 类型之间的转换
    集合视图 代码
    IOS面试问题总结
    UIViewController的生命周期及iOS程序执行顺序
  • 原文地址:https://www.cnblogs.com/ShenG1/p/5771367.html
Copyright © 2011-2022 走看看