.Net学习笔记----2015-07-21(C#基础复习05,里氏转换)

里氏转换:

1、子类可以赋值给父类

2、如果父类中装的是子类对象,那么可以将父类转换为子类对象。

3、as

4、is

 

如果一个子类继承了一个父类,那么这个子类除了可以使用自己的成员外,还可以使用从父类那里继承过来的成员

但是,父类永远只能使用自己的成员,而不能使用子类的成员

子类之间也不能互相使用对方的成员

 

    class Program
    {
        static void Main(string[] args)
        {
            Person person = new Student();
            Teacher t = person as Teacher; //as转换成功转成对应的对象,转换失败返回null
            //Student s = (Student)person;//转换成功,因为person里装着Student的对象
            //Teacher s = (Teacher)person;//转换失败,因为person里装着Student的对象
            if(person is Student)
            {
                Console.WriteLine("OK,可以转换");
            }
            else
            {
                Console.WriteLine("NO,不可以转换");
            }
            //Console.WriteLine(s.ID);
            Console.ReadKey();
            //Student student = new Student();
            //Teacher teacher = new Teacher();
            
        }
    }

    public class Person
    {
        public string Name
        { get; set; }
    }
    public class Student : Person
    {
        public int ID
        { get; set; }

    }
    public class Teacher : Person
    {
        public double Salary { get; set; }
    }

 

你可能感兴趣的:(.net)