身为菜鸟,以前很少用集成这个高级东西,基本都是public,这几天为了练习自定义视图引擎
需要定义一个实体用来序列化,这个实体包换页面的基本信息例如标题和requst的信息
于是需要写一个基类,可以被继承,但不能实例化,还可以序列化,信息都在基类定义好,子类也不需要重新定义属性
折腾了好久,才明白了问题
/// abstract public class ShapesClass { public ShapesClass() { } abstract public int Area(); public int x; public int y; public List<string> mylist { get; set; } } public class Square : ShapesClass { public Square() : base() { } // Not providing an Area method results // in a compile-time error. public override int Area() { this.x = 1; this.mylist.Add("111"); return 1; } }
===
1原来抽象类也需要定义public或其他
abstract public class ShapesClass
public class Square : ShapesClass
2属性既可以定义为抽象的也可以不定义为抽象的,若果大量的属性要在子类的使用尅定义为不抽象的
public List<string> mylist { get; set; }
3如果子类的访问范围比首相类的访问范围大,是不行的
例如父类的私有的子类是共有的,是不行的
真是汗颜