C#基础:字段的初始化,类的继承和多态

一、字段

1.初始化字段

public class Program
{
    public class Test
    { 
        public int value { get; set; }//入参

        public int valueadd { get => value+1; }//入参+1 (该字段只能读不能写)

        public List valuelist { get; set; } = new List();//必须对其初始化,否则将无法遍历,赋值(因为valuelist=null)
    }

    static void Main(string[] args)
    {
        var test = new Test { value = 5,valuelist = {1,2,3}};
        Console.WriteLine($"{test.value},{test.valueadd}");
        foreach (var item in test.valuelist)
        {
            Console.WriteLine($"数字列表:{item}");
        }
        // 输出:
        // 5,6
        // 数字列表:1
        // 数字列表:2
        // 数字列表:3
    }
}

二、继承

1.多继承

//错误的写法
public class A : B,C
{

}
//正确的写法
public class B : C
{

}
public class A : B //A可访问B,C所有public字段和方法
{

}

2.重写父类和增加子类方法

//【前提】假如Parent,Child类都有共同方法Display,Child类有新增方法Show
Parent parent = new Parent();
Child child = new Child();
Parent parentReferenceToChild = new Child();
parent.Display(); // 调用父类方法
child.Display(); // 调用子类方法
child.Show(); // 调用子类方法
parentReferenceToChild.Display();//调用子类方法,因为父类指向了子类(引用调用,以new为准)
//parentReferenceToChild.Show(); //报错,引用调用时,不允许调用非共有方法

三、多态

常见的实现多态的方式:

  • 同一方法,不同的类调用有不同的效果(接口实现或继承重写)
  • 同一方法,不同的入参个数,入参类型有不同的效果(方法重载)

你可能感兴趣的:(C#基础,c#,开发语言)