面向对象复习
---------------------- 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类的一个对象.社会的分工合作可以提高整体的工作效率,发挥个人的特长优势,弥补个体的不足.而代码的封装有利于后期的维护,便于修改,并可以复用.使得程序更加的灵活,可以参考《大话设计模式里》关于活字印刷好比面向对象一说。