C#中的访问修饰符
1、public :公共的、公开的
2、private:私有的,只能在当前类访问
3、protected:受保护的,只能在当前类的内部,以及该类的子类中访问
4、internel:当前程序集(项目中)中访问
5、protected internel:protected+internel
1)能够修饰类的访问修饰符:public 、 internel(默认修饰符)
2)可访问性不一致:
子类的访问权限不能大于父类修饰权限,否则会暴露父类成员
简单工厂设计模式(23种)
1、设计模式:设计项目的方式(解决在日常开发中会遇到的问题)
实现简单工厂设计模式
核心:根据用户输入,创建对象赋值给父类
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入您想要的笔记本品牌:");
string brand = Console.ReadLine();
//声明Notebook来接收
NoteBook nb = GetNoteBook(brand);
//调用父类的方法,取决于getNoteBook里面传入的哪一个参数
nb.Say();
}
//根据用户的输入返回一个父类,父类里面装的是子类对象
public static NoteBook GetNoteBook(string brand)
{
NoteBook nb = null;
switch (brand)
{
case "Lenovo":nb = new Lenovo();
break;
case "HuaWeiNote":nb = new HuaWeiNote();
break;
case "HuaShuoNote": nb = new HuaWeiNote();
break;
}
return nb;
}
}
//父类(用抽象类使用多态)
public abstract class NoteBook
{
public abstract void Say();
}
public class HuaWeiNote : NoteBook
{
public override void Say()
{
Console.WriteLine("我是华为笔记本");
}
}
public class Lenovo : NoteBook
{
public override void Say()
{
Console.WriteLine("我是联想笔记本");
}
}
public class HuaShuoNote : NoteBook
{
public override void Say()
{
Console.WriteLine("我是华硕笔记本");
}
}