第二节 10继承

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
/* 定义类的时候不指定父类,则父类是Object类,Object类是任何类的直接或者间接父类
 *
 */
namespace _10继承
{
    class Program
    {
        static void Main(string[] args)
        {
            China c = new China();
            c.Age = 22;
            c.Name = "向工";
            c.SayHello();
            c.户口 = "四川";
            c.功夫();

            韩国人 k = new 韩国人();
            k.Age = 33;
            k.Name = "金日成";
            k.SayHello();
            k.身高 = 166;
            k.做泡菜();

            Person p1 = c; //人类等于中国人类,是可以的
            p1.SayHello();

            Person p2 = k; //人类等于韩国人类,是可以的
            k.SayHello();

            //韩国人 k1 = p2; //不行的,韩国人不给一个人
            //我要一个韩国人,给了我一个Person类型的变量,我一看p1是Person类型,我就报错了,给我要不是中国人咋办

            //China zgr = (China)p2; //要一个中国人,我把一个人类转换后给它
            //这种转换只能交给程序员来弄定,但上面的类型不同所以提示错误
            China zgr = (China)p1;
            zgr.SayHello();



            Console.ReadKey();
        }
    }
    class Person 
    {
        public int Age { set; get; }
        public string Name { set; get; }
        public void SayHello() 
        {
            Console.WriteLine("我的名字叫{0}",this.Name);
        }
    }
    class China : Person
    {
        public string 户口 { set; get; }
        public void 功夫() 
        {
            Console.WriteLine("我打打打!");
        }
    }

    class 韩国人 : Person 
    {
        public int 身高 { set;get; }
        public void 做泡菜() {
            Console.WriteLine("我做做做泡菜!!");
        }

    }
}

  

posted @ 2012-02-25 00:36  简单--生活  阅读(143)  评论(0编辑  收藏  举报
简单--生活(CSDN)