菜鸟学习abstract【一个类可以被继承但不能实例化,子类不需要重新定义属性】

简介: 身为菜鸟,以前很少用集成这个高级东西,基本都是public,这几天为了练习自定义视图引擎 需要定义一个实体用来序列化,这个实体包换页面的基本信息例如标题和requst的信息 于是需要写一个基类,可以被继承,但不能实例化,还可以序列化,信息都在基类定义好,子类也不需要重新定义属性 折腾了好久,才...

身为菜鸟,以前很少用集成这个高级东西,基本都是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
相关文章
|
7月前
|
C#
57.c#:directorylnfo类
57.c#:directorylnfo类
62 0
|
4月前
|
C#
C#中的类和继承
C#中的类和继承
47 6
|
6月前
|
Java 编译器 数据处理
JavaSE——面相对象高级一(4/4)-继承相关的注意事项:权限修饰符、单继承、Object类、方法重写、子类访问成员的特点......
JavaSE——面相对象高级一(4/4)-继承相关的注意事项:权限修饰符、单继承、Object类、方法重写、子类访问成员的特点......
63 0
怎样声明一个类不会被继承,什么场景下会用?
怎样声明一个类不会被继承,什么场景下会用?
82 0
继承类的方法
继承类的方法
119 0
|
Java 开发者
Class 类对象的三种实例化模式|学习笔记
快速学习 Class 类对象的三种实例化模式
182 0
Class 类对象的三种实例化模式|学习笔记
第五周学习java 继承 在子类父类中有相同参数,子类继承分类后如何进行调用,判断创建的对象属性哪个类
第五周学习java 继承 在子类父类中有相同参数,子类继承分类后如何进行调用,判断创建的对象属性哪个类
第五周学习java 继承 在子类父类中有相同参数,子类继承分类后如何进行调用,判断创建的对象属性哪个类
|
编译器 数据安全/隐私保护
【C++Primer】第7章:类
【C++Primer】第7章:类
108 0
|
Java 开发者
Class 类对象的三种实例化模式|学习笔记
快速学习 Class 类对象的三种实例化模式
428 0
 Class  类对象的三种实例化模式|学习笔记