1.什么是面向对象?
所谓的面向对象,就是在编程的时候尽可能的去模拟真实的现实世界,按照现实世界中的逻辑去处理一个问题,分析问题中参与其中的有哪些实体,这些实体应该有什么属性和方法,我们如何通过调用这些实体的属性和方法去解决问题。实体就是动作的支配者,没有实体,就肯定没有动作发生!因为任何功能的实现都是依赖于一个具体的实体的“动作|操作|行动”,可以看作是一个又一个的实体在发挥其各自的“能力”并在内部进行协调有序的调用过程。
2:类和对象
这个世界是由什么组成的?如果是一个化学家,他也许会告诉你“还用问嘛?这个世界是由分子、原子、离子等等的化学物质组成的”。如果是一个画家呢?他也许会告诉你,“这个世界是由不同的颜色所组成的”,众说纷纭。
现在,站在抽象的角度,我们给“类”下个定义吧!站在抽象的角度,你回答我“什么是人类?”首先让我们来看看人类所具有的一些特征,这个特征包括属性(一些参数,数值)以及方法(一些行为,他能干什么!)。每个人都有身高、体重、年龄、血型等等一些属性。人会劳动、人都会直立行走、人都会用自己的头脑去创造工具等等这些方法!人之所以能区别于其它类型的动物,是因为每个人都具有人这个群体的属性与方法。“人类”只是一个抽象的概念,它仅仅是一个概念,它是不存在的实体!但是所有具备“人类”这个群体的属性与方法的对象都叫人!这个对象“人”是实际存在的实体!每个人都是人这个群体的一个对象。老虎为什么不是人?因为它不具备人这个群体的属性与方法,老虎不会直立行走,不会使用工具等等!所以说老虎不是人!
由此可见-------类描述了一组有相同特性(属性)和相同行为(方法)的对象。在程序中,类实际上就是数据类型!
面向对象的编程语言最大的特色就是可以编写自己所需的数据类型,以更好的解决问题。我想我必须要帮你搞清楚“类,对象,属性,方法它们之间的关系”!就像我前面所说的,人这个“类”是什么也做不了的,因为“人类”只是一个抽象的概念,它不是实实在在的“东西”,而这个“东西”就是所谓的对象。只有人这个“对象”才能去工作。而类呢?类是对象的描述!对象从类中产生出来!此时,对象具有类所描述的所有的属性以及方法。举个例子!例如飞机,飞机都有工作原理图,那么什么叫飞机呢?只要它能够实现工作原理图的所有功能的物体,我们都叫飞机机。你想想是不是这么一回事儿?可是,飞机原理图是不能工作的,也就是这个原理图不能飞,只有飞机这个“实体——即所谓的对象”才能飞行,也就是说,从类生成出对象之后才算得上是真正的有意义!才能开始工作。此时,飞机拥有飞机原理图所描述的所有的属性及方法!明白了吧,呵呵!
当采用面向对象的思想解决问题时,可以分为下面几步:
1:分析那些动作是由哪些实体发出的;
2:定义这些实体,为他增加属型的属性和功能;
3:让实体去执行香型的功能和动作;
学生到校注册报到:
第一步:分析那些动作是由哪些实体发出的
学生提出报名
学生缴费
机构收费
教师分配教室
班级增加学生信息
于是,在整个过程中,一共有四个实体:
学生、机构、教师、班级!
在现实中的一个具体的实体,就是计算机编程中的一个对象!
第二步:定义这些实体,为其增加相应的属性和功能
属性就是实体在现实世界中的一些特征表现。如:
人的属性:姓名、性别、身高、三围、体重、电话号码、家庭住址、籍贯等
手机的属性:品牌、价格、颜色、尺寸、待机时间等
功能就是能完成的动作,在面向对象的术语中,动作就叫作方法或者函数。如:
人的动作(功能):吃饭、睡觉、学习、打游戏、走路、跑步、缴费!
手机的动作(功能):打电话、发短信、拍照、打游戏、视频、看电影等
第三步:让实体去执行相应的功能或动作
学生提出报名
学生缴费
学校收费
教师分配教室
班级增加学生信息