黑马程序员-面向对象复习

来源:互联网 发布:linux fclose函数 编辑:程序博客网 时间:2024/05/06 17:34

--------------------- ASP.Net+Android+IOS开发.Net培训期待与您交流! ----------------------

 概要:以下整理了有关老师对类的讲解,并结合了《c#4.0图解教程》的知识及自己的理解,以帮助自己掌握类的使用,类成员,类进阶,类和继承等与类相关的知识,深刻理解面向对象的思想。

1.理解面向对象

面向对象是相对面向过程而言的,面向对象和面向过程都是一种思想.

面向过程强调的是功能行为,完成任务由多个函数构成。

面向对象将功能进行封装打包 ,完成任务由对象构成强调具备了功能的对象.书本上面向对象的类定义:程序将数据和功能组织为逻辑上相关的数据项和函数的集合,称之为类.

2.类与对象的关系

类是用来描述事物的

对象是这类事物存在的个体

比如说,人类是个类,具体张三这个人是对象.

3.类与对象的区别

类是抽象的概念,是一种模板.结合书本上的理论:类是一种数据类型,数据类型是数据结构的模板.

对象是类里面具体的某个实际存在的个体.

比如,房屋的蓝图是个类,将蓝图实现为一个实际的房子,这个房子称为为对象.

对象可以叫做类的实例.结合书本上的理论,从数据类型这个模板创建世界的对象成为实例化.通过实例化创建的对象成为该类的实例或是对象.

类不占内存,对象占内存.比如说房子的蓝图不占土地,具体实际存在的房子才占土地.

物化的解释:

比如完成完成一个任务:总经理要招聘一个助理。

总经理的面向过程的解决方案包含以下几个步骤:(1)发布招聘信息(2)简历筛选(3)预约面试(4)进行初试复试(5)最终审核

总经理的面向对象的解方案:将需求信息告知人力资源部,由人力资源部这个对象来完成(1)发布招聘信息(2)简历筛选(3)预约面试(4)进行初试复试(5)最终审核这五个行为.

 也就是说人力资源部这个对象具备了:(1)发布招聘信息(2)简历筛选(3)预约面试(4)进行初试复试(5)最终审核的五个功能,所以对象是功能的打包或封装.而对象自身还是通过面向过程,需要一个步骤一个步骤的做完才能完成任务,所以说面向对象是基于面向过程的.

总经理招聘助理-面向过程的代码粗略的设计(我自己的,可能存在问题)

总经理招聘-面向对象的代码粗略的设计:

以下为包含招聘工作的封装集合,即人力资源部

再比如,要完成一件事:我要修电脑

面向对象的解决方法:找一个电脑维修工程师来完成修理这个过程.

那这样,我们明白了,其实面向对象好比社会人分工合作的模式.在现实生活中,生病了,去医院找医生诊断,治疗.学习时,去学校,找老师指导传授知识.我们在对代码进行操作的时候,也需要对代码进行分工.比如做项目的时候我们往往会创建一个SqlHelper类专门用来对数据库进行操作,当我们需要与数据库打交道的时候,直接调用SqlHelper类的一个对象.社会的分工合作可以提高整体的工作效率,发挥个人的特长优势,弥补个体的不足.而代码的封装有利于后期的维护,便于修改,并可以复用.使得程序更加的灵活,可以参考《大话设计模式里》关于活字印刷好比面向对象一说。

 

 

 

0 0
原创粉丝点击