using System;
using System.Collections.Generic;
namespace MyApp
{
class Program
{
static void Main()
{
Life xufei = new Programmer("Xufei");
xufei.DisplayLife();
Console.WriteLine();
Life xuYang = new Teacher("Xuyang");
xuYang.DisplayLife();
Console.ReadKey();
}
}
abstract class Life
{
public string Name { get; set; }
public abstract string FirstAnswer { get; set; }
public abstract string SecondAnswer { get; set; }
public abstract string ThirdAnswer { get; set; }
public void FirstThirtyYears()
{
Console.WriteLine(" 0-30:{0}", FirstAnswer);
}
public void SecondThirtyYears()
{
Console.WriteLine("31-60:{0}", SecondAnswer);
}
public void LastThirtyYears()
{
Console.WriteLine("61-90:{0}", ThirdAnswer);
}
public void DisplayLife()
{
DisplayName();
FirstThirtyYears();
SecondThirtyYears();
LastThirtyYears();
}
private void DisplayName()
{
Console.WriteLine(" Name:{0}.", Name);
}
}
class Teacher:Life
{
public Teacher(string name)
{
Name = name;
}
public override string FirstAnswer
{
get
{
return "Born, Study, Be a teacher.";
}
set
{
value = "Born, Study, Be a teacher.";
}
}
public override string SecondAnswer
{
get
{
return "Teach in school";
}
set
{
value = "Teach in school";
}
}
public override string ThirdAnswer
{
get
{
return "Wait to death.";
}
set
{
value = "Wait to death.";
}
}
}
class Programmer:Life
{
public Programmer(string name)
{
Name = name;
}
public override string FirstAnswer
{
get
{
return "Born, Study, Be a programmer.";
}
set
{
value = "Born, Study, Be a programmer.";
}
}
public override string SecondAnswer
{
get
{
return "Work in software company";
}
set
{
value = "Work in software company";
}
}
public override string ThirdAnswer
{
get
{
return "Wait to death.";
}
set
{
value = "Wait to death.";
}
}
}
}
本文通过一个程序员和教师的生活轨迹示例,展示了使用C#进行面向对象编程的方法,重点介绍了抽象基类与派生类的概念及其实现方式。

被折叠的 条评论
为什么被折叠?



