打字猴:1.70041586e+09
1700415860 MyClass obj;       //创建对象
1700415861
1700415862 obj.Variable=123;  //使用对象所持有的变量
1700415863
1700415864 obj.Function();    //使用对象所持有的函数
1700415865
1700415866 先要创建一个个的对象然后才能使用类中定义的成员,对于面向对象语言的初学者而言,会认为这样做很麻烦。但也只能这样做,因为这是面向对象语言就是这样规定的。可为什么要确立这样的规则呢?原因是即便是在现实世界中,也有类(定义)和对象(实体)的区别。举例来说,假设定义了一个表示企业中雇员的类Employee,如果仅仅是定义完就可以立即使用类Employee中的成员,那么程序中实际上就只能存在一个雇员,而如果规定了要先创建类Employee的对象才能使用,那么就可以需要多少就创建多少雇员了(通过在内存上创建出类Employee的副本)。在这一点上,稍后将要介绍的具有两个文本框的Windows应用程序也是如此,也就是说这个程序创建了两个文本框类的对象
1700415867
1700415868 这样的话,就更能理解“类是做饼干的模具,用模具做出来的饼干是对象”这句话的含义了吧。有了一个做饼干的模具(类),那么需要多少就能做出多少饼干(对象)
1700415869
1700415870
1700415871
1700415872
1700415873 计算机是怎样跑起来的 [:1700412691]
1700415874 计算机是怎样跑起来的 7.11 类有三种使用方法
1700415875
1700415876 前面介绍过了,在面向对象编程中程序员可以分式,有的人负责创建类,有的负责使用类。创建类的程序员需要考虑的类的复用性、可维护性、如何对现实世界建模以及易用性等,而且还要把相关的函数的变量汇集到类中。这样的工作称为“定义类”
1700415877
1700415878 而使用类的程序员可通过三种方法使用类,关于这一点要有所了解。这三种方法分别是:(1)仅调用类所持有的的个别成员(函数和变量);(2)在类的定义中包含其他的类(这种方法被称为组合);(3)通过继承已存在的类定义出新的类。使用哪种方法是由目标类的性质以及程序员的目的决定的
1700415879
1700415880 在平时所见的程序背后,程序员们也是按照上述三种方法使用类的。代码清单7.6中列出了一段用C#编写的Windows应用程序。当用户点击按钮时,就会弹出一个消息框,里面显示的是输入到两个文本框中的数字进行加法运算后的结果(如图7.7所示)
1700415881
1700415882 代码清单7.6 进行加法运算的Windows应用程序(用C#编写)
1700415883
1700415884
1700415885
1700415886
1700415887 图7.7 Windows应用程序的运行结果
1700415888
1700415889
1700415890
1700415891
1700415892 这里不需要深究程序代码的含义,而是要把注意力集中到类的三种使用方法上。在这个程序中,表示整体界面的是以Form1为类名的类。类Form1继承了类库中的System.Windows.Forms.Form。在C#中用冒号表示继承,在窗体上,有两个文本框和一个按钮,用程序来表示的话,就是类Form1的成员变量分别是以类System.Windows.Forms.TextBox(文本框类)为数据类型的textBox1,textBox2和以类System.Windows.Forms.Button(按钮类)为数据类型的button1。像这样类中就包含了其他的类,也可以说是类中引用了其他的类。而代码中的Int32.Parse和MessageBox.Show,只不过是个别调用了类中的函数
1700415893
1700415894
1700415895
1700415896
1700415897 计算机是怎样跑起来的 [:1700412692]
1700415898 计算机是怎样跑起来的 7.12 在Java和.NET中有关OOP的知识不能少
1700415899
1700415900 在本章最后,解释一下为什么说程序员已经到了无法逃避面向对象编程的地步了。在未来的开发环境中,将成为主流的不是Java就是.NET。Java和.NET其实是位于操作系统(Windows或Linux等)之上,旨在通过隐藏操作系统的复杂性从而提升开发效率的程序集。这样的程序集也被称为“框架”(Framework)。框架由两部分组成构成,一部分是负责安全执行程序的“执行引擎”,另一部分是作为程序组件集合的“类库”(如图7.8所示)
1700415901
1700415902 图7.8 框架提供了高效的开发环境
1700415903
1700415904
1700415905
1700415906
1700415907 无论是使用Java还是.NET,都需要依赖类库进行面向对象编程。在Java中,使用的是与框架同名的Java语言,而在.NET中,使用的是.NET框架支持的C#、Visual Basic.NET、Visual C++、NetCOBOL等语言进行开发。上述的每种语言都是面向对象语言。其中Visual Basic.NET和NetCOBOL是在古老的Visual Basic和COBOL语言中增加了面向对象的特性(类的定义、继承、封装和多态等)而诞生的新语言。至今还对面向对象编程敬而远之的程序员们,已经不得不迎头赶上了。
1700415908
1700415909 通过综合整理面向对象的各种理解方法,相信已经能看到面向对象的全貌了。但这有一点希望注意,那就是不要把面向对象当成一门学问。程序员是工程师,工程是一种亲身参与的活动而不是一门学问,请把面向对象编程作为一种能提升编程效率、写出易于维护的代码的编程方法,在适当的场合实践面向对象编程,而不要被它各种各样的概念以及所谓的编程技巧所束缚。
[ 上一页 ]  [ :1.70041586e+09 ]  [ 下一页 ]