day09_22_10_12

75 阅读1分钟

C# 高级

面向对象

不同项目的引用

image.png

public class Vehicle
{

    // 构造函数

    public Vehicle(int Speed, int MaxSpeed, int Weight)
    {

        this.Speed = Speed;
        this.MaxSpeed = MaxSpeed;
        this.Weight = Weight;

    }

    public int Speed;
    public int MaxSpeed;
    public int Weight;
    private int id;

    public void run()
    {

        Console.WriteLine("以{0}速度行驶,最大速度为{1}", Speed, MaxSpeed);

    }

    static void Main()
    {

    }
}
Vehicle v = new Vehicle(1, 1, 1);
v.run();

属性

public int num
{
    get {

        Console.WriteLine("访问的时候会执行");
        return 1;

    }
    set {
        Console.WriteLine("修改的时候会执行,得到的新值:{0}",value);

    }
}
Console.WriteLine(v.num);
v.num = 2;
Console.WriteLine(v.num);//1

image.png

public int num
{
    get {

        Console.WriteLine("访问的时候会执行");
        return id;

    }
    set {
        id = value;
        Console.WriteLine("修改的时候会执行,得到的新值:{0}",value);

    }
}

image.png

继承

class Hero
{
    public string name;
    public int life;

    public Hero() { }
    public Hero(string name, int life)
    {
        this.name = name;
        this.life = life;
    }

    public void move()
    {
        Console.WriteLine("移动");
    }
}

class ADC : Hero
{
    public int attack;

    public ADC() { }

    public ADC(string name, int life,int attack) : base(name, life)
    {

        this.attack = attack;

    }

    public void shoot()
    {
        Console.WriteLine("射击");
    }
}

class Class3
{

    static void Main(string[] args)
    {

        ADC houyi = new ADC();

        houyi.shoot();
        houyi.move();

    }
}

重写 virtual,override

// 父类
// virtual:定义为虚方法
public virtual void move() // 在基类定义虚方法
{
    Console.WriteLine("移动");
}

// 子类
public override void move()
{
    base.move();
}