继承2

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

namespace 继承
{
    public class chinese : person//定义一个chinese派生类,继承自person类
    {
        public string shengxiao;//生肖
        public override void sayhello(string shengxiao, string name, int age, string sex)
        {
            base.sayhello();//调用基类的无参方法
            this.name = name;
            this.age = age;
            this.sex = sex;
            this.shengxiao = shengxiao;

            Console.WriteLine("你好!我的生肖是{0},我的名字叫{1},我今年{2}岁,我的性别是{3}。", shengxiao, name, age, sex);
        }
        public void hello()//无参构造函数
        {
            shengxiao = "";
            name = "小红";
            age = 10;
            sex = "";
            Console.WriteLine("你好!我的生肖是{0},我的名字叫{1},我今年{2}岁,我的性别是{3}。", shengxiao, name, age, sex);
        }

    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 继承作业
{
    
        public class english : person//定义一个english派生类,继承自person类
        {
            public string xingzuo;//星座
            public override void sayhello(string xingzuo, string name, int age, string sex)
            {
                base.sayhello();//调用基类的无参方法
                this.xingzuo = xingzuo;
                this.name = name;
                this.age = age;
                this.sex = sex;
                Console.WriteLine("hello!my star sign is {0},my name is {1},i'm {2} years old ,my sex is {3}.", xingzuo, name, age, sex);
            }
            public void hello()//无参构造函数
            {
                xingzuo = "巨蟹座";
                name = "小红";
                age = 10;
                sex = "";
                Console.WriteLine("hello!my star sign is {0},my name is {1},i'm {2} years old ,my sex is {3}.", xingzuo, name, age, sex);
            }
        }
    
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 继承作业
{
    //基类
    public class person
    {
        public string name;//姓名
        public int age;//年龄
        public string sex;//性别
        //虚方法--子类可以重写
        public virtual void sayhello(string x, string name, int age, string sex)//有参构造方法
        {
            this.name = name;
            this.age = age;
            this.sex = sex;
            Console.WriteLine("hello!我的名字叫{0},我今年{1}岁,我的性别是{2}", name, age, sex);
        }
        //无参构造方法
        public void sayhello()
        {
            name = "小红";
            age = 10;
            sex = "";
            Console.WriteLine("hello!我的名字叫{0},我今年{1}岁,我的性别是{2}", name, age, sex);
        }
    }
}

 

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

namespace 继承作业
{
    class Program
    {
       
       
       
        static void Main(string[] args)
        {
            //在主方法实例化
            
            person a = new person();
            english b = new english();
            chinese c = new chinese();

            Console.WriteLine("\t三个类的无参构造:");
            a.sayhello();
            b.hello();
            c.hello();

            Console.WriteLine("\t三个类的有参构造和子类调用父类的无参构造:");
            a.sayhello("","小明",12,"");
            b.sayhello("cancer","xiaomin", 12, "male");
            c.sayhello("","小明", 12, "");
            //停止看结果
            Console.ReadLine();
        }
    }
}

 

posted @ 2024-04-09 21:22  困到很想醒  阅读(7)  评论(0编辑  收藏  举报