zoukankan      html  css  js  c++  java
  • C#父类与子类的关系

    这里,我做一个整合。

    这里前期要极其注意修饰符之间的关系。

    1.Main调用方法,其实我也不知道叫什么,大家看代码吧。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleApplication1
    {
        
    
        class Program
        {
            static void Main(string[] args)
            {
                FarClass f = new FarClass();
                f.print();
                Console.ReadKey();
            }
    
            class FarClass
            {
                public void print()
                {
                    Console.WriteLine("Hello");
                }
            }
        }
    }
    View Code

    2. 子类继承父类

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleApplication1
    {
        
    
        class Program
        {
            static void Main(string[] args)
            {
                //查看子类继承情况
                SubClass sub = new SubClass();
                sub.Sfun();
                sub.Bfun();
                //实例父类
                BaseClass Base = new BaseClass();
                Base.Bfun();
                Console.ReadKey();
            }
    
            class BaseClass
            {
                public void Bfun()
                {
                    Console.WriteLine("父类方法");
                }
            }
            //子类继承父类
            class SubClass:BaseClass
            {
                public void Sfun()
                {
                    Console.WriteLine("子类方法");
                }
            }
        }
    }
    View Code

    3.子类重写父类,父类关键字(Virtual),子类关键字(Override);

    也就是扩展方法的意思,并且注意子类方法与父类方法重名。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleApplication1
    {    
        class Program
        {
            static void Main(string[] args)
            {
                //父类
                BaseClass Basefun = new BaseClass();
                Basefun.Basefun();
                //扩展父类方法,注意实例的对象为子类
                BaseClass Subfun = new SubClass();            
                Subfun.Basefun();
                Console.ReadKey();
            }
            class BaseClass
            {
                public virtual void Basefun()
                {
                    Console.WriteLine("父类方法");
                }
            }       
            class SubClass:BaseClass
            {
                public override void Basefun()
                {
                    Console.WriteLine("子类方法");
                }
            }
        }
    }
    View Code

    4.使用NEW关键字隐藏,隐藏时,访问父类则调用父类的方法,访问子类则调用子类的方法。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleApplication1
    {    
        class Program
        {
            static void Main(string[] args)
            {
                SubClass s = new SubClass();
                s.Same();
                BaseClass b = new BaseClass();
                s.Same();
    
                //new后,隐藏父类与子类同名方法
                
                
                Console.ReadKey();
            }
            class BaseClass
            {
                public void Same()
                {
                    Console.WriteLine("父类相同方法");
                }
            }       
            class SubClass:BaseClass
            {
                new public void Same()
                {
                    Console.WriteLine("子类相同方法");
                }
            }
        }
    }
    View Code

    5.暂时写到这里吧。。。。

  • 相关阅读:
    Spark Streaming企业运用
    spark企业运用
    sparkcore企业运用
    Spark GraphX从入门到实战
    sparkstreaming入门到实战
    sparkSql从入门到实战
    sparkcore入门到实战
    spark机器算法从入门到实战
    flink实时数仓从入门到实战
    github上克隆私有项目
  • 原文地址:https://www.cnblogs.com/zhiboday/p/6130935.html
Copyright © 2011-2022 走看看