码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2015-07-21 14:15:40      阅读:452      评论:0      收藏:0      [点我收藏+]

标签:

里氏转换:

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学习笔记----2015-07-21(C#基础复习05,里氏转换)

标签:

原文地址:http://www.cnblogs.com/mikie/p/4664112.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!