zoukankan      html  css  js  c++  java
  • 关于父子类方法的继承

    父类一个virtual方法,一个普通方法;子类复写virtual,同时具有同名普通方法(使用new)。则Parent p = new Son();产生有趣结果:

        class Program
        
    {
            
    static void Main(string[] args)
            
    {
                Parent p 
    = new Son();
                p.foo();
                p.foo2();

                Console.Read();
            }

        }


        
    public class Parent
        
    {
            
    public virtual void foo()
            
    {
                Console.WriteLine(
    "parent foo");
            }


            
    public void foo2()
            
    {
                Console.WriteLine(
    "parent foo2");
            }

        }


        
    public class Son : Parent
        
    {
            
    public override void foo()
            
    {
                Console.WriteLine(
    "Son foo");
            }


            
    public new void foo2()
            
    {
                Console.WriteLine(
    "Son foo2");
            }

        }

    我的理解是:p对象执行虚方法,则要到其Son子类去找复写方法;p对象执行普通方法,使用自身的方法即可——不用考虑子类的new方法。
  • 相关阅读:
    Windows Server 2012上PHP运行环境搭建的简易教程(Win08适用)
    Windows 8.1 系统ISO镜像下载或自Win8应用商店升级方法
    dojo布局(layout)
    dojo创建tree
    Postgres SQL学习笔记
    PostGIS ShapeFile 导入数据
    利用 PortableBasemapServer 发布地图服务
    Fortran 笔记
    ArcMap 操作笔记
    gdal编译C#开发版本
  • 原文地址:https://www.cnblogs.com/Jax/p/1085254.html
Copyright © 2011-2022 走看看