里式转换_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 里式转换

里式转换

 2017/11/4 19:21:37  happy多乐  程序员俱乐部  我要评论(0)
  • 摘要:里式转换:子类可以赋值给父类,如果有一个地方需要一个父类作为参数,我们可以给一个子类代替父类子类对象可以调用父类成员,但是父类对象永远只能只能调用父类自己的成员usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespace_里氏转换{classProgram{staticvoidMain(string[]args){////1
  • 标签:

里式转换 :
            子类可以赋值给父类,如果有一个地方需要一个父类作为参数,我们可以给一个子类代替父类
            子类对象可以调用父类成员,但是父类对象永远只能只能调用父类自己的成员

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _里氏转换
{
    class Program
    {
        static void Main(string[] args)
        {
            ////           1、里氏转换
            ////1)、子类可以赋值给父类:如果有一个地方需要一个父类作为参数,我们可以给一个子类代替
            //  Student s = new Student();
            Person p = new Student();//s;

            //string str = string.Join("|",new string[] { "1", "2", "3", "4" });
            //Console.WriteLine(str);
            //Console.ReadKey();

            ////2)、如果父类中装的是子类对象,那么可以讲这个父类强转为子类对象。

            //is的用法
            //if (p is Student)
            //{
            //    Student ss = (Student)p;
            //    ss.StudentSayHello();
            //}
            //else
            //{
            //    Console.WriteLine("转换失败");
            //}
            //as的用法
            Student t = p as Student;
            t.StudentSayHello();
            Console.ReadKey();
        }
    }

    public class Person
    {
        public void PersonSayHello()
        {
            Console.WriteLine("我是父类");
        }
    }
    public class Student : Person
    {
        public void StudentSayHello()
        {
            Console.WriteLine("我是学生");
        }
    }
    public class Teacher : Person
    {
        public void TeacherSayHello()
        {
            Console.WriteLine("我是老师");
        }
    }


}

上一篇: 专访OPPO产品经理:有舍有得 谁才是OPPO核心用户? 下一篇: 没有下一篇了!
  • 相关文章
发表评论
用户名: 匿名