老大帮我看看这段代码,我这样写有问题吗?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace DuckDemo
{
public class Program
{
static void Main(string[] args)
{
GreenDuckname greenduckname = new GreenDuckname();
TangLaoYaDuckname tanglaoyaduckname = new TangLaoYaDuckname();
}
}
//y鸭子的说话,会飞的特性;
public abstract class Duck
{
private static string duckname;
public static string Duckname
{
get { return duckname; }
set { duckname = value; }
}
//抽象方法必须放在抽象类中;抽象类不能实例化;同时抽象方法没有实现(方法体),在子类中必须实现它;
//虚方法必须有实现(方法体)
public abstract void Fly(string duckname);
public abstract void Sound(string duckname);
}
/// <summary>
/// 绿头鸭继承了语言和会飞的类
/// </summary>
public class GreenDuckname:Duck
{
public GreenDuckname()
{
Duck.Duckname="绿头鸭";
Fly(Duck.Duckname);
Sound(Duck.Duckname);
}
public override void Fly(string duckname)
{
Console.WriteLine(duckname + "飞");
}
public override void Sound(string duckname)
{
Console.WriteLine(duckname + "呱呱叫");
}
}
/// <summary>
/// 唐老鸭继承了语言和会飞的类
/// </summary>
public class TangLaoYaDuckname : Duck
{
public TangLaoYaDuckname()
{
Duck.Duckname = "唐老鸭";
Fly(Duck.Duckname);
Sound(Duck.Duckname);
}
public override void Fly(string duckname)
{
Console.WriteLine(duckname + "飞");
}
public override void Sound(string duckname)
{
Console.WriteLine(duckname + "讲人话");
}
}
}
从设计模式的角度来说,我这段代码设计的有问题吗?如有问题还请指正。小弟在此谢过了。。