(教学思路 C#之类五)类的分类(静态类、实例类、嵌套类、结构、简单的抽象类、简单的密封类)
2008-12-14 01:01
666 查看
本节课我们来学习类的扩展分类,看我的标题中就罗列出了类的分类,类按照声明方式和功能定义共分为这六种类,实例类就是我们一直在用的类,class关键字前没有其他的修饰符,之前已经有很多实例类的使用方法了,我们今天主要是学习其他五种类。
静态类
静态类就是在class关键字前加入了static关键字,基本语法是static Class ClassName{} 。
静态类有几个特点:
1.静态类只能包括静态成员
2.类本身无法被实例化,也就是不能创建静态类的对象
3.静态类无法被继承
4.无法包含实例构造方法
所以我们在创建静态类的时候,必须注意到以上四点,下面的实例是简单的静态类的使用。
class Program
2 //定义一个静态类名字叫做StaticClass
10 static class StaticClass
11 class Program
2 //定义一个静态类名字叫做StructName
16 public struct StructName
17namespace hello
2 //定义一个抽象类abstractclassName
2 abstract class abstractclassName
3
使用抽象类还要记住二点,一:因为抽象类中有可能存在抽象成员,也就是存在没有实现的成员,所以抽象类无法被实例化,也就是无法创建类的实例对象;二:定义抽象成员的时候,为了让继承的子类能够实现这个抽象方法,也就必须把抽象的成员定义成公有、或受保护的成员,这样在抽象类的外部才能访问到这个抽象成员。
密封类
密封类的定义是通过sealed关键字来实现的,密封类可以用来限制扩展性,我也听过把密封类叫成太监类的说法,很形象的说明了密封类的特点,就是没有子类,也就是密封类无法被继承,这一点和静态类一样,下面来看看密封类的基本语法:
sealed class sealedclassName
{
类的主体;
}
密封类除了不能被继承,其他的用法和实例类基本一致,可以有多个构造方法,可以有静态的、也可以有实例的,类的成员也是可以有静态的和实例的。所以就不再演示密封类的用法了,对于密封类来说,它与面向对象编程技术的灵活性和扩展性是相抵触的,所以通常情况下,不建议定义密码类。
本节课就讲到这里,下一节我们要来学习类六:索引器
静态类
静态类就是在class关键字前加入了static关键字,基本语法是static Class ClassName{} 。
静态类有几个特点:
1.静态类只能包括静态成员
2.类本身无法被实例化,也就是不能创建静态类的对象
3.静态类无法被继承
4.无法包含实例构造方法
所以我们在创建静态类的时候,必须注意到以上四点,下面的实例是简单的静态类的使用。
class Program
2 //定义一个静态类名字叫做StaticClass
10 static class StaticClass
11 class Program
2 //定义一个静态类名字叫做StructName
16 public struct StructName
17namespace hello
2 //定义一个抽象类abstractclassName
2 abstract class abstractclassName
3
使用抽象类还要记住二点,一:因为抽象类中有可能存在抽象成员,也就是存在没有实现的成员,所以抽象类无法被实例化,也就是无法创建类的实例对象;二:定义抽象成员的时候,为了让继承的子类能够实现这个抽象方法,也就必须把抽象的成员定义成公有、或受保护的成员,这样在抽象类的外部才能访问到这个抽象成员。
密封类
密封类的定义是通过sealed关键字来实现的,密封类可以用来限制扩展性,我也听过把密封类叫成太监类的说法,很形象的说明了密封类的特点,就是没有子类,也就是密封类无法被继承,这一点和静态类一样,下面来看看密封类的基本语法:
sealed class sealedclassName
{
类的主体;
}
密封类除了不能被继承,其他的用法和实例类基本一致,可以有多个构造方法,可以有静态的、也可以有实例的,类的成员也是可以有静态的和实例的。所以就不再演示密封类的用法了,对于密封类来说,它与面向对象编程技术的灵活性和扩展性是相抵触的,所以通常情况下,不建议定义密码类。
本节课就讲到这里,下一节我们要来学习类六:索引器
相关文章推荐
- (教学思路 C#之类五)类的分类(静态类、实例类、嵌套类、结构、简单的抽象类、简单的密封类)
- (教学思路 C#之类五)类的分类(静态类、实例类、嵌套类、结构、简单的抽象类、简单的密封类)
- C#类的分类(静态类、实例类、嵌套类、结构、简单的抽象类、简单的密封类)
- 教学思路C#之入门一 认识简单的C#结构
- (教学思路 C#之类九)抽象类和接口
- (教学思路 C#之类九)抽象类和接口
- 教学思路C#之入门一 认识简单的C#结构
- (教学思路 C#之类九)抽象类和接口
- (教学思路 C#之类六)索引器
- (教学思路 C#之类四)构造方法(静态构造方法、this、方法重载)、析构方法(修改新增)
- (教学思路 C#之类六)索引器
- (教学思路 C#之类二)类成员:属性
- (教学思路 C#之类四)构造方法(静态构造方法、this、方法重载)、析构方法(修改新增)
- (教学思路 C#之类八)多态性:base、new、override、virtual
- (教学思路 C#之类二)类成员:属性
- (教学思路 C#之类三)方法参数类型(ref、out、parmas)
- C#简单工厂和抽象类的实例
- (教学思路 C#之类三)方法参数类型(ref、out、parmas)
- C#简单工厂和抽象类的实例
- 教学思路 C#之类四)构造方法(静态构造方法、this、方法重载)、析构方法(修改新增)