10 Semantics of Classes


Classes, as specified in Partition I, sections 8.2.3 and 8.9.5, define types in an inheritance hierarchy. A class (except for the built-in class System.Object) shall declare exactly one parent class. A class shall declare zero or more interfaces that it implements (see Partition II, section 11). A concrete class may be instantiated to create an object, but an abstract class (see Partition II, section 9.1.4) shall not be instantiated. A class may define fields (static or instance), methods (static, instance, or virtual), events, properties, and nested types (classes, value types, or interfaces).

Instances of a class (objects) are created only by explicitly using the newobj instruction (see Partition III [section 4.20]). When a variable or field that has a class as its type is created (for example, by calling a method that has a local variable of a class type), the value shall initially be null, a special value that is assignment compatible with all class types even though it is not an instance of any particular class.



The Common Language Infrastructure Annotated Standard (Microsoft. NET Development Series)
The Common Language Infrastructure Annotated Standard (Microsoft. NET Development Series)
ISBN: N/A
EAN: N/A
Year: 2002
Pages: 121

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net