using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace inherit
{
class Program
{
static void Main(string[] args)
{
Chinese c = new Chinese();
c.SayHello();
c.Age = 20;
c.Hukou = "wuhan";
c.KongFu();
American a = new American();
a.SayHello();
a.Age = 30;
a.Culture = "obesity";
a.food();
//父类引用指向子类对象
Person p1 = c;//Person类型 指向一个Chinese类型的对象是可以的!
//p1.food(); p1不能调用子类Chinese的函数
p1.SayHello(); //p1只能调用父类Person的函数
Person p2 = a;
Person p3 = new American();
p3.SayHello();
//需要一个中国人,给我一个Person类型变量,报错!!!
//Chinese cc = new Person();
//需要一个中国人,对Person类型变量进行强制类型转换,程序员保证
Chinese cc = (Chinese)p1;
//需要一个中国人,程序员却把指向美国人的Person类型变量强制变化成中国人类型,报错!!!
//Chinese ccc = (Chinese)p2;
Console.ReadKey();
}
}
class Person
{
public int Age { get; set; }
public string Name { get; set; }
public void SayHello()
{
Console.WriteLine("HelloWorld!~");
}
}
class Chinese : Person //继承
{
public string Hukou{get;set;}
public void KongFu()
{
Console.WriteLine("降龙十八掌");
}
}
class American : Person
{
public string Culture { get; set; }
public void food()
{
Console.WriteLine("hamburger");
}
}
}
C# 继承
最新推荐文章于 2024-04-30 09:11:57 发布