VisualC#07-1面向对象和类.pptVIP

  • 1
  • 0
  • 约1.39万字
  • 约 70页
  • 2017-06-11 发布于北京
  • 举报
第7章 面向对象和类 本章要点 面向对象程序设计的概念 掌握命名空间的意义 掌握类的声明方法 掌握构造器和析构器 掌握方法,私有方法,共有方法的声明 掌握域、属性、索引等概念 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 如果在一个命名空间中使用其他已定义好的命名空间,只需要在这个命名空间使用using语句便可对其他命名空间进行引用。例如: Namespace MyNameSpace { using System; using NameSpaceOutside; //命名空间的其他定义部分 } 如果多个命名空间具有相同的完整合法名称,那么这几个命名空间属于一个命名空间。 namespace NameSpace { class A { } } namespace NameSpace { class B { } } 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 再看下面的例子: 利用别名使用指令所定义的别名的有效范围是该指令所属的编译单元或命名空间,因此这里的别名在该编译单元或命名空间中应该是惟一的,不能与其它成员同名,否则就会出错。例如: 在使用别名时,如果别名所定义的命名空间或命名空间中的成员不存在,同样会出现错误。例如: 与一般成员一样,别名使用指令定义的别名在整个命名空间或整个编译单元内都有效,该命名空间内其他成员都可直接使用。例如: 当在一个编译单元中同时声明多个别名时,别名的声明顺序没有关系,并且每个别名的声明不会受到自身或别的别名的影响。例如: 第7章 面向对象和类 例如对于大家比较熟悉的系统预定义的命名空间System,引用该命名空间后,可以直接使用其中的成员。 对于用户自己定义的命名空间,先定义用户自己的命名空间后也可以直接使用,例如: 注意:命名空间使用指令只能导入命名空间本身,而不会导入嵌套的命名空间,例如: 如果在编译单元或命名空间中定义的成员名与命名空间名相同,编译器将按成员名优先的原则。例如: 如果在编译单元或命名空间中有多个命名空间使用指令使用,而这些命名空间中又包含了相同的类型名,用户定义和使用时要注意,不要引起二义性。例如: 为避免上述错误的发生,在使用过程中,应该在程序中直接指明使用的是哪一个成员。例如: 第7章 面向对象和类 下面创建一个类AssemblyTest,在该类中引用程序集TimeLibrary.dll,并显示标准和通用的时间字符串格式: 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 第7章 面向对象和类 程序运行结果为: The Price is 5 The Color is BLACK 7.4 构造函数与析构函数 C#中有两个特殊的函数: 构造函数:当类实例化时首先执行的函数。 析构函数:当实例(即对象)从内存中销毁前最后执行的函数 这两个函数的执行是无条件的,不需要程序员的干预。也就是说,只要定义一个对象或销毁一个对象,不用显示地调用构造函数或析构函数,系统都会自动在创建对象时调用构造函数,在对象销毁时调用析构函数。 7.4.1 构造函数 对于刚才的例子,无论是公有成员变量Color,还是私有成员变量Price,在使用时都存在重大隐患。如将类Test进行如下改写 //类的实例化 class Test { public static void Main() { Pen myPen=new Pen();//类的实例化 Console.WriteLine(The Price is {0},myPen.GetPrice()); Console.WriteLine(The Color is {0},myPen.Color); } } 7.4.1 构造函数 对于构造函数,C

文档评论(0)

1亿VIP精品文档

相关文档