zoukankan      html  css  js  c++  java
  • C# 抽象(2)

    接着上章说:

    先看代码

    abstract  class Human
        {
           
            public abstract void Think();
    
            public abstract int Age { get; set; }
    
    
        }
        class Iam : Human
        {
            public override int Age { get ; set ; }
    
            public override void Think()
            {
               
            }
        }

    如果仔细观察代码,我们会发现在子类中实现父抽象类的方法时,使用的是ovrride关键字,这个和多态中的重写是一个关键字,那么这两个是相同的嘛?

    答案是不是的。

    在多态中说了,重写是将继承链中重写的方法全部替换。 而抽象的重写则是实现方法。这个先是方法代码是不存在,在子类中实现之后在代替父类。实际上执行的还是子类的实现。

    代码实现:

               new Iam().Think();
    
                var i = new Iam();
                (i as Human).Think();

  • 相关阅读:
    day10
    day 09
    day08
    day07
    day6
    day5
    成员变量和局部变量
    (第五章)java面向对象之this的作用总结
    简单的音乐播放
    异步消息处理机制 简析
  • 原文地址:https://www.cnblogs.com/T-ARF/p/9216543.html
Copyright © 2011-2022 走看看