using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Animal
{
private string type;
public string Type
{
get { return type; }
set { type = value; }
}
public string toString()
{
return "这是一个动物类!";
}
public void sound()
{
Console.WriteLine("动物声音");
}
}
class Cat:Animal
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
public string toString()
{
return "猫猫的名字是"+name+",属于"+Type+",它会";
}
public void sound()
{
Console.WriteLine("喵喵叫");
}
}
class Dog : Animal
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
public string toString()
{
return "狗狗的名字是"+name+",属于"+Type+",它会";
}
public void sound()
{
Console.WriteLine("汪汪叫");
}
}
class Program
{
static void Main(string[] args)
{
Dog d = new Dog();
d.Type = "哺乳类";
d.Name = "Tom";
Console.Write(d.toString());
d.sound();
Cat c = new Cat();
c.Type = "哺乳类";
c.Name = "Ketty";
Console.Write(c.toString());
c.sound();
Animal d1 = new Dog();
//d1.Name="Jack"; //对象d1不具有Name属性,此句不能通过编译
}
}
}
子类(派生类)可调用父类(基类)的非私有方法/数据,父类不可调用子类定义的方法。
自己学的太乱了,先就这么着吧,想学什么学什么。