码迷,mamicode.com
首页 > 其他好文 > 详细

17复习

时间:2016-12-19 10:55:31      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:默认   base   复习   调用   ast   rand   eric   property   str   

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

namespace _17复习
{
    class Program
    {
        static void Main(string[] args)
        {

            //Truck t = new Truck("解放牌","绿色",500);
            //t.Lahuo();
            //Car c = new Car("红旗","黑色",5);
            //c.Laren();

            //-----------------------------------------------------------------
            //定义的父类,赋的值是子类
            //Shape shape = new Circle(5);

            //double area = shape.GetArea();
            //double perimeter = shape.GetPerimeter();

            //Console.WriteLine("面积是{0:0.00},周长是{1:0.00}",area,perimeter);

            //Shape squ = new Square(4,3);
            //double are = squ.GetArea();
            //double per = squ.GetPerimeter();

            //Console.WriteLine("面积是{0:0.00},周长是{1:0.00}", are, per);

            //-----------------------------------------------------------------

            //接口实现多态,声明的是接口
            IBark bark = new RealDuck();
            bark.Bark();

        }
    }


    class Duck
    {
        public void Swim()
        {
            Console.WriteLine("鸭子都会游泳");
        }
    }

    interface IBark
    {
        void Bark();
    }

    class XPDuck : Duck, IBark
    {
        public void Bark()
        {
            Console.WriteLine("橡皮鸭唧唧叫");
        }
    }

    class RealDuck : Duck, IBark
    {
        public void Bark()
        {
            Console.WriteLine("真鸭子嘎嘎叫");
        }
    }

    class MuDuck : Duck
    {
      
    }


    //-----------------------------------------------------------------

    abstract class Shape
    {
        public abstract double GetArea();
        public abstract double GetPerimeter();
    }

    class Circle : Shape
    {
        public double R { get; set; }
        public Circle(double r)
        {
            this.R = r;
        }

        public override double GetArea()
        {
            return Math.PI * this.R * this.R;
        }

        public override double GetPerimeter()
        {
            return 2 * Math.PI * this.R;
        }
    }

    class Square : Shape
    {
        public double Height { get; set; }
        public double Width { get; set; }
        public Square(double height,double width)
        {
            this.Height = height;
            this.Width = width;
        }

        public override double GetArea()
        {
            return this.Height * this.Width;
        }

        public override double GetPerimeter()
        {
            return (this.Height + this.Width) * 2;
        }
    }




    //-------------------------------------------------------------------------------------------

    class Vehicle
    {
        public string Brand { get; set; }
        public string  Color { get; set; }
        public void Run()
        {
            Console.WriteLine("是车都能跑");
        }

        public Vehicle(string brand,string color)
        {
            this.Brand = brand;
            this.Color = color;
        }
    }

    class Truck : Vehicle
    {
        public double Weight { get; set; }
        public Truck(string brand,string color,double weight) : base(brand, color)
        {
            this.Weight = weight;
        }

        public void Lahuo()
        {
            Console.WriteLine("卡车可以拉{0}KG货",this.Weight);
        }
    }

    class Car :Vehicle
    {
        public int Passenger { get; set; }
        public Car(string brand,string color,int passenger) : base(brand, color)
        {
            this.Passenger = passenger;
        }

        public void Laren()
        {
            Console.WriteLine("轿车可以拉{0}人",this.Passenger);
        }
    }


    //-------------------------------------------------------------------------------------------
    class Father
    {
        public string LastName { get; set; }
        public double Property { get; set; }
        public string BloodType { get; set; }
        public Father(string lastName,double property,string bloodType)
        {
            this.LastName = lastName;
            this.Property = property;
            this.BloodType = bloodType;
        }
    }

    class Son : Father
    {
        //默认调用无参构造函数
        public Son(string lastName,double property,string bloodType):base(lastName,property,bloodType)
        {

        }

        public void PlayGame()
        {
            Console.WriteLine("儿子玩游戏");
        }
    }

    class Daughter : Father
    {
        public Daughter(string lastName,double property,string bloodType) : base(lastName, property, bloodType)
        {

        }

        public void Dance()
        {
            Console.WriteLine("女儿会跳舞");
        }
    }
}

 

17复习

标签:默认   base   复习   调用   ast   rand   eric   property   str   

原文地址:http://www.cnblogs.com/andu/p/6196377.html

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