zoukankan      html  css  js  c++  java
  • 菜鸟学习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如果子类的访问范围比首相类的访问范围大,是不行的

    例如父类的私有的子类是共有的,是不行的

    悲伤真是汗颜

  • 相关阅读:
    Valid Anagram
    Spiral Matrix II
    Spiral Matrix
    Kth Smallest Element in a BST
    Count Primes
    javascript 判断浏览器
    javascript 数值交换技巧
    EntityFramework 6 分页模式
    JSON.parse 和 JSON.stringify
    CSS z-index
  • 原文地址:https://www.cnblogs.com/qqloving/p/2033648.html
Copyright © 2011-2022 走看看