代码之家  ›  专栏  ›  技术社区  ›  Vishnu Pradeep

如何防止类“a”被其他类继承?

  •  12
  • Vishnu Pradeep  · 技术社区  · 14 年前

    我有一个叫 fdetails 我不希望任何其他类从这个类继承。

    我能把它设置为不被其他类继承吗?我想用以下三种语言来完成这项工作:

    • 爪哇
    • vb.net 3.5版
    • C 3.5
    5 回复  |  直到 8 年前
        1
  •  36
  •   Femaref    14 年前
    java: final  
    vb: NotInheritable (NonOverrideable for properties)
    c#: sealed
    
        2
  •  8
  •   chillysapien    8 年前

    在Java中使用最终关键字:

    public final class fdetails{
    
    }
    

    在c中,使用sealed关键字:

    public sealed class fdetails{
    
    }
    

    在VB.NET中,使用NotInheritable关键字:

    public notinheritable class fdetails
    
    end class
    
        3
  •  4
  •   Oded    14 年前

    在C中,使用 sealed 关键字以防止类被继承。

    在vb.net中,使用 NotInheritable 关键字。

    在爪哇中使用关键字 final .

        4
  •  3
  •   duduamar    14 年前

    在Java中使用最后的关键字:

    public final class FDetails
    

    在C-密封关键字:

    sealed class FDetails
    
        5
  •  1
  •   Shubhranshu    9 年前

    为了防止C中的类被继承,使用关键字sealed。因此,密封类不能作为任何其他类的基类。显然,密封类不能是抽象类。下面的代码…

    //C# Example
    sealed class ClassA
    {
        public int x;
        public int y;
    }
    

    没有类可以从上面定义的类继承。可以创建ClassA的实例,然后可以访问它的成员,但不能像下面的代码那样…

    class DerivedClass : ClassA { } // Error
    

    在jave和vb.net中相同:

    java: final  
    vb: NotInheritable (NonOverrideable for properties)