用sealed修饰的类有什么特点(sealedup)

用sealed修饰的类有什么特点,sealedup

内容导航:

  • 使用sealed,virtual,override,abstract修饰的类
  • 用sealed修饰的类有什么特点
  • 抽象类是指没有说明对象的类吗
  • 修饰类化妆品有哪些
  • 一、使用sealed,virtual,override,abstract修饰的类

    1.
    sealed——“断子绝孙”密封类不能被继承。密封方法可以重写基类中的方法,但其本身不能在任何派生类中进一步重写。当应用于方法或属性时,sealed修饰符必须始终与override一起使用。即:密封类不会有子类,所以是“断子绝孙”。2.
    new——“你是我的,我是我的”new关键字用于显式隐藏从基类继承的成员。也就是在使用派生类时调用的方式方法是new关键字新定义出来的方法,而不是基类的方法。在不使用new修饰符的情况下隐藏成员是允许的,但会生成警告。使用new显式隐藏成员会取消此警告,并使用派生类新定义的方法。即:好比是不用祖宗的东西,而是用自己创造(new)的东西。3.
    virtual——“为了子孙后代”virtual关键字用于修改方法或属性的声明,在这种情况下,方法或属性被称做虚成员。虚成员的实现可由派生类中的重写成员更改。调用虚方法时,将为重写成员检查该对象的运行时类型。将调用大部分派生类中的该重写成员,如果没有派生类重写该成员,则它可能是原始成员。在默认情况下,方式是非虚拟的。非虚方法不能重写。不能将virtual修饰符与一下修饰符一起使用:static、abstract和override。除了声明和调用语法不同外,虚拟属性的行为与抽象方法一样。在静态属性上使用virtual修饰符是错误的。通过override修饰符的属性声明,在派生类中重写虚拟继承属性。即:virtual是为了让子孙后代可以实现各自的梦想而做的。4.
    abstract——“我是上帝”abstract修饰符可以和类、方法、属性、索引器及事件一起使用。在类声明中使用abstract修饰符,以指示该类只能是其他类的基类。标记为抽象或包含在抽象类中的成员必须通过从抽象类派生的类来实现。抽象类具有以下特性:抽象类不能实例化。抽象类可以包含抽象方法和抽象访问器。不能用sealed修饰符修改抽象类,这意味着该类不能被继承。从抽象类派生的非抽象类必须包括继承的所有抽象方法和抽象访问器的实现。在方法或属性声明中使用abstract修饰符以指示此方法或属性不包含实现。抽象方法具有以下特性:抽象方法是隐式的virtual方法。只允许在抽象类使用抽象方法声明。抽象方法声明不提供实际的实现,所以没有方法体;方法声明只是以一个分号结束,并且在结束后没有花括号。实现由override方法提供,它是非抽象类的成员。在抽象方法声明中使用static或virtual修饰符是错误的。除了在声明和调用语法上不同外,抽象属性的行为与抽象方法一样。在静态属性上使用abstract修饰符是错误的。在派生类中,通过包括使用override修饰符的属性声明可以重写抽象的基础属性。即:abstract是一种抽象,好比上帝,是人们对神的抽象,看似什么都能干,其实什么都干不了。5.
    override——“一手遮天”使用override修饰符来修改方法、属性、索引器或事件。主要是提供派生类对基类方法的新实现。覆盖上面abstract、virtual两种关键字修饰的成员。由重写声明重写的方法称为重写基方法。重写基方法必须与重写方法具有相同的签名。重写基方法必须是虚拟的、抽象或重写的。不能重写非虚方法或静态方法。不能使用下列修饰符修改重写方法:new、static、virtual和abstract。重写属性声明必须指定与继承属性完全相同的访问修饰符、类型和名称,并且重写属性必须是虚拟的、抽象的或重写的。即:override好比不但不用祖宗的那套,而且还自己创一套新功夫代替祖宗那套。

    二、用sealed修饰的类有什么特点

    用sealed修饰的类有什么特点sealed 修饰符用于防止从所修饰的类派生出其它类。
    如果一个密封类被指定为其他类的基类,则会发生编译时错误。
    密封类不能同时为抽象类。
    sealed 修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。
    具体说来,由于密封类永远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理。
    sealed 修饰符用于防止从所修饰的类派生出其它类。
    如果一个密封类被指定为其他类的基类,则会发生编译时错误。
    密封类不能同时为抽象类。
    sealed 修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。
    具体说来,由于密封类永远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理。
    C#提出了一个密封类(sealed class)的概念,帮助开发人员来解决这一问题。
    密封类在声明中使用sealed 修饰符,这样就可以防止该类被其它类继承。
    如果试图将一个密封类作为其它类的基类,C#将提示出错。
    理所当然,密封类不能同时又是抽象类,因为抽象总是希望被继承的。
    sealed(C# 参考) sealed 修饰符可以应用于类、实例方法和属性。
    密封类不能被继承。
    密封方法会重写基类中的方法,但其本身不能在任何派生类中进一步重写。
    当应用于方法或属性时,sealed 修饰符必须始终与 override(C# 参考) [ /zh-
    cn/library/ebca9ah3(VS.80).aspx ] 一起使用。

    三、抽象类是指没有说明对象的类吗

    抽象类不是指没有说明对象的类

    概念理解 编辑
    在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
    抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。
    比如,在一个图形编辑软件的分析设计过程中,就会发现问题领域存在着圆、三角形这样一些具体概念,它们是不同的,但是它们又都属于形状这样一个概念,形状这个概念在问题领域并不是直接存在的,它就是一个抽象概念。而正是因为抽象的概念在问题领域没有对应的具体概念,所以用以表征抽象概念的抽象类是不能够实例化的。
    c#中的抽象类的特征 抽象类具有以下特性:抽象类不能实例化。抽象类可以包含抽象方法和抽象访问器。不能用 sealed
    修饰符修饰抽象类,因为这两个修饰符的含义是相反的。 采用 sealed 修饰符的类无法继承,而 abstract
    修饰符要求对类进行继承。从抽象类派生的非抽象类必须包括继承的所有抽象方法和抽象访问器的实际实现。

    四、修饰类化妆品有哪些

    答:修饰类化妆品,在化妆修饰时使用,如唇膏、指甲油、香粉

    版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/125284.html

    (0)
    robot
    上一篇 2022-06-07
    下一篇 2022-06-07

    相关推荐

    • jndi配置数据源的步骤是什么

      配置JNDI数据源有以下步骤:配置数据源:在应用服务器的配置文件中配置数据源的连接信息,包括数据库连接的URL、用户名、密码等。在应用程序中引用数据源:在应用程序的代码中通过JNDI API来引用数据源。一般是通过JNDI上下文对象来查找数据源。配置数据源的JNDI名称:在应用服务器的配置文件中配置数据源的JNDI名称,应用程序通过该名称来查找数据源。在应用程序中使用数据源:通过JNDI查找到数据

      2024-04-18
      0
    • mysql内存表无法主从复制怎么解决

      在MySQL中,内存表(Memory表)是一种特殊的表,数据存储在内存中而不是磁盘上,因此无法进行主从复制。如果您需要在主从复制环墶中使用内存表,可以考虑以下解决方案:将内存表转换为磁盘表:将内存表中的数据导出到磁盘表中,然后在主从复制环境中使用磁盘表进行数据同步。使用触发器:在内存表上创建触发器,当内存表中的数据发生变化时,触发器可以将数据写入到磁盘表中,从而实现主从复制。使用存储过程:编写存储

      2024-03-19
      0
    • 如何查询dns服务器地址(怎么查看服务器dns地址)

      如何查询dns服务器地址,怎么查看服务器dns地址内容导航:如何查询DNS服务器地址如何查本地dns怎么查询自家电脑的DNS服务器地址如何查询dns服务器IP地址一、如何查询DNS服务器地址你好按如下操作:运行>cmd>ipconfig/all你就可以看到你想要的地址啦……二、如

      2022-04-24
      0
    • 微信个人号如何推广(个人微信怎么推广)

      微信个人号如何推广,个人微信怎么推广内容导航:个人微信公众号如何进行推广啊如何推广自己的微信号微信公众号个人号区别怎么推广微信公众号一、个人微信公众号如何进行推广啊从有了微信开始,微营销这种营销方式到目前都没有消退,而公众号也开始成为了一个企业在做推广的时候必须的一个工具,大部分中小型企业做了公众号后,基本就没有推广过,结果也不了了之了,公众号要怎么推广,给出以下几个建议:公众号

      2022-05-02
      0
    • c语言如何定义字符数组并初始化

      在C语言中,可以通过以下方式定义和初始化字符数组:使用字符数组的方式定义并初始化:char str[] = “Hello, World!”;使用指定大小的字符数组定义并初始化:char str[20] = “Hello, World!”;逐个赋值初始化字符数组:char str[13];str[0] = 'H';str[1] = 'e';str[2]

      2024-03-13
      0
    • c++创建二叉树要注意哪些事项

      在C++中创建二叉树时,需要注意以下事项:定义二叉树节点的结构:需要定义一个结构体或类来表示二叉树的节点,包括左子树指针、右子树指针和节点值等信息。实现二叉树的插入操作:需要实现向二叉树中插入新节点的操作,通常会涉及递归或循环实现。实现二叉树的遍历操作:需要实现二叉树的前序、中序和后序遍历操作,以便对树中的节点进行访问。注意内存管理:在创建二叉树时,需要注意内存的管理,及时释放不再需要的节点以避免

      2024-03-15
      0