菜鸟学习abstract【一个类可以被继承但不能实例化,子类不需要重新定义属性】
身为菜鸟,以前很少用集成这个高级东西,基本都是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如果子类的访问范围比首相类的访问范围大,是不行的
例如父类的私有的子类是共有的,是不行的
真是汗颜
test

浙公网安备 33010602011771号