unity游戏开发-C#语言基础篇( 面向对象基础(二))


class Program : CarClass1 //子类:父类  冒号表示继承;
    {
        static void Main(string[] args)
        {
            CarClass BugattiCar = new CarClass();
            BugattiCar.Name = "布加迪.威航";
            BugattiCar.Brand = "布加迪";
            BugattiCar.Speed = 350;
            BugattiCar.Colour = "red";
            BugattiCar.ShowMsg();


            CarClass ferrariCar = new CarClass();
            ferrariCar.Name = "法拉利.欧美亚";
            ferrariCar.Brand = "法拉利";
            ferrariCar.Speed = 300;
            ferrariCar.Colour = "yellow";
            ferrariCar.ShowMsg();
            Console.ReadKey();

            CarClass1 bujiadiCar = new CarClass1();
            bujiadiCar.Name = "布加迪.威航";
            bujiadiCar.Brand = "布加迪";
            bujiadiCar.Speed = 388;
            bujiadiCar.Colour = "Red";
            string Str = CarClass1.Insurance;//常量的值是不能改变的
            Console.WriteLine(CarClass1.Insurance);//直接打印
            Console.WriteLine(Str);
            bujiadiCar.Capactiy = 50;//注意类的设置;简写过程 set get 都要写!
            bujiadiCar.ShowMsg();
            Console.WriteLine(bujiadiCar.Colour);
            Console.ReadKey();


            AnimalClass duck = new AnimalClass("鸭", 80, 90, "白色");
            duck.ShowMsg();


            //继承
            Program myProgram = new Program();
            Console.WriteLine(myProgram.sex1);//获取字段 protected 修饰符 只能通过子类的实例去获取;

            FunctionClass fun = new FunctionClass();

            Console.WriteLine(fun.ShowTestFun("张三", 100));//调用方法,有返回值;
            Console.WriteLine(fun.ShowTestFun("李四", 88));


            fun.showTest(8888);//调用方法,没有返回值

            fun.ShouTest1(bujiadiCar);


            MujiClass muji = new MujiClass("小小");
            GongjiClass gongji = new GongjiClass();

            gongji.chenJiao(muji);//传参之前必须实例化

            Console.ReadKey();

        }
    }
  class AnimalClass
    {
        //--------字段--------
        private string Animalname;
        private int Animalweingth;
        private int Animalheigth;
        private string Aniamalcolour;

        //-----------属性---------------

        public string Name
        {
            set { Animalname = value; }//set 设置值 Animalname=“鸭子”否则报错
            get { return Animalname; }//get 获取值 Animalname.Name 否则报错;

        }
        public int Weigth
        {
            set { Animalweingth = value; }
            get { return Animalweingth; }

        }

        public int Heigth
        {
            set { Animalheigth = value; }
            get { return Animalheigth; }
        }

        public string Colour
        {
            set { Aniamalcolour = value; }
            get { return Aniamalcolour; }
        }
        //---------------------方法----------------

        public void Eatting()
        {

            Console.WriteLine("吃!");
        }

        public void Running()
        {
            Console.WriteLine("跑!");
        }

        public void Latting()
        {
            Console.WriteLine("拉翔!");
        }



        /// <summary>
        /// 打印到控制台
        /// </summary>
        public void ShowMsg()
        {
            Console.WriteLine("动物名称:{0} 重量:{1}g 高度:{2}cm 颜色:{3}", Animalname, Animalheigth, Animalweingth, Aniamalcolour);
            Console.WriteLine("具有以下能力:");
            Eatting();
            Running();
            Latting();
        }

        //------------------------构造函数-------------
        public AnimalClass(string _name, int _weigth, int _heigth, string _colour)
        {
            Animalname = _name;
            Animalheigth = _heigth;
            Animalweingth = _weigth;
            Aniamalcolour = _colour;

        }
    }
public class CarClass1//public 公开的类 不写是只限当前程序集使用 internal
    {//类或结构的默认访问类型是internal
        //类中所有的成员,默认均为private

        /// <summary>
        /// 汽车保险年限设置为常量
        /// </summary>
        public const string Insurance = "3年";//常量默认静态的;必须初始化赋值;常量的值是不能改变的;
        //---------------字段---------------
        private string name;//名字

        private string brand;//品牌

        private string colour;//颜色

        private int speed;//速度

        //-----------构造函数----------------通过构造函数初始化相关值
        public CarClass(string _name, string _brand, int _speed) {

            this.name = _name;
            this.brand = _brand;
            this.speed = _speed;

        }


        //--------------属性-------------------
        //name属性
        public string Name
        {
            set { name = value; }
            get { return name; }

        }


        //品牌属性
        public string Brand
        {
            set { brand = value; }
            get { return brand; }
        }

        //速度属性
        public int Speed//上面是私有的,不赋值;现在是公开的;
        {
            set
            {
                if (value > 0 && value <= 500)
                {
                    speed = value;
                }
                else
                {
                    Console.WriteLine("超出范围!");
                }
            }
            get { return speed * 2; }
        }

        //油箱容量L
        public int Capactiy { set; get; }//系统默认创建一个油箱容量字段

        public string Colour
        {
            set
            { colour = value; }
            get { return colour; }
        }

        //男女属性
        public string Sex
        {
            set
            {
                if (Sex == "男" || Sex == "女")
                {
                    Sex = value;
                }
                else
                {
                    Console.WriteLine("输入错误!");
                }
            }
            get { return Sex; }
        }

        //受保护属性
        protected string sex1 = "女";

        //-------------------方法-----------------
        /// <summary>
        /// 跑
        /// </summary>
        private void Run()
        {
            Console.WriteLine("汽车开动了!");
        }
        /// <summary>
        /// 载人
        /// </summary>
        public void Manned()//注意private 和 public 的区别和应用范围;私有的,公开的,
        {
            Console.WriteLine("可以载人!");
        }

        /// <summary>
        /// 屏幕显示信息
        /// </summary>
        public void ShowMsg()
        {

            Console.WriteLine("汽车:{0} 品牌:{1} 颜色:{2} 速度:{3}km/h 油箱容量:{4}L", name, brand, colour, speed, Capactiy);
        }

    }
 class FunctionClass
    {
        public string ShowTestFun(string name, int money)
        {//有返回值的方法
            string str = "";
            str = name + "说今天星期四!";


            return str;

        }

        //没有返回值的方法
        public void showTest(int money)
        {
            //方法体

            Console.WriteLine("我身上有" + money + "元!");
        }

        public void ShouTest1(CarClass1 car)
        {

            Console.WriteLine("我的汽车是:" + car.Name);
        }
    }
class GongjiClass
    {
        private string name = "小明";

        public const string tedian = "不能下蛋!";


        public string Name
        {
            set { name = value; }
            get { return name; }
        }


        public void chenJiao(MujiClass muji)
        {

            Console.WriteLine(name + "公鸡晨叫:太阳晒屁股了!!!起床下蛋了!!!");

            muji.xiaDan();
        }

        private GongjiClass()
        { //私有的函数不能被实例化,只能被当前类使用

        }
    }

    class MujiClass
    {
        private string name = "小花";

        public string Name
        {
            set { name = value; }
            get { return name; }
        }

        public void xiaDan()
        {
            Console.WriteLine(name + "母鸡下蛋了!");
        }
        public MujiClass()
        {//优先级最高,首先执行 构造函数;
            Console.WriteLine("正在实例化一个母鸡");
        }

        public MujiClass(string muji)
        { //构造函数可以重名 只有两个构造函数,只有传参不传参
            Console.WriteLine("正在实例化一个{0}母鸡", muji);
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容