ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

普通类,抽象类,两者的区别,

2021-12-01 20:31:55  阅读:212  来源: 互联网

标签:两者 区别 子类 abstract 修饰符 抽象 抽象类 方法


一.class普通类

1.类的定义:

     类的访问修饰符    修饰符    类名
    {
           类的成员
    }

在 C# 语言中创建的任何项目都有类的存在,通过类能很好地体现面向对象语言中封装、继承、多态的特性。

  • 类的访问修饰符:用于设定对类的访问限制,包括 public、internal 或者不写,用 internal 或者不写时代表只能在当前项目中访问类;public 则代表可以在任何项目中访问类。
  • 修饰符:修饰符是对类本身特点的描述,包括 abstract、sealed 和 static。abstract 是抽象的意思,使用它修饰符的类不能被实例化;sealed 修饰的类是密封类,不能 被继承;static 修饰的类是静态类,不能被实例化。
  • 类名:类名用于描述类的功能,因此在定义类名时最好是具有实际意义,这样方便用户理解类中描述的内容。在同一个命名空间下类名必须是唯一的。
  • 类的成员:在类中能定义的元素,主要包括字段、属性、方法。

二.抽象类或方法

  • abstract 关键字代表的是抽象的,使用该关键字能修饰类和方法,修饰的方法被称为抽象方法、修饰的类被称为抽象类。
  • abstract 关键字只能用于普通方法,不能用于 static(静态) 方法或者构造方法中。

1.抽象方法的定义

         访问修饰符  abstract  方法返回值类型  方法名(参数列表);

2.抽象方法的 3 个特征:

  1. 抽象方法只有声明没有实现(没有方法体)
  2. 抽象方法必须存在于抽象类中
  3. 子类重写父类时,必须重写父类所有的抽象方法

注意:抽象方法不能使用 private 修饰,因为抽象方法必须被子类重写,而如果使用了 private 声明,则子类是无法重写的。

1.抽象类的定义:
        访问修饰符  abstract class  类名
        {
            //类成员
        }
2.抽象类使用规则:

  1. 抽象类和抽象方法都要使用 abstract 关键字声明。
  2. 如果一个方法被声明为抽象的,那么这个类也必须声明为抽象的。而一个抽象类中,可以有 0~n 个抽象方法,以及 0~n 个具体方法。
  3. 抽象类不能实例化,也就是不能使用 new 关键字创建对象。

 

三.抽象类与普通类区别

1.关键字:抽象类声明时需要abstract 关键字来定义 ,而普通类则可以是public private等。

2.方法:抽象类里的抽象方法里不能有方法的主体,只能是抽象方法的声明,而普通类里的方法里可以有主体。

3.实例化:抽象类是不能被实例化的,也就是不能用new调用构造函数创建对象,而普通类可以通过new关键字进行实例化。

4.访问权限:抽象类的访问权限限于public和protected,因为抽象类方法是需要继承之后让子类去实现的,private修饰的方法不能被重写,抽象方法的目的就是为了继承以后再子类里重写。而普通类的访问权限没有限制,都可以修饰。

5.继承:抽象类被继承时,子类必须实现它的所有方法,如果子类没有实现父类的抽象方法,则必须将子类也定义成抽象类。而普通类被继承时,不需要实现它的所有方法。

 

标签:两者,区别,子类,abstract,修饰符,抽象,抽象类,方法
来源: https://www.cnblogs.com/WhiteGardenia/p/15630567.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有