1 神速熟悉面向对象
1.1 表格结构和类结构
我们在现实生活中,思考问题、发现问题、处理问题,往往都会用“表格”作为工具。
实际上,“表格思维”就是一种典型的面向对象思维。 实际上,互联 上所有的数据本质上都是“表格”。我们在这里通过从表格表示数据开 始,引入对象和类。大家就会神奇的发现,原来“表格就是对象”。
- 表结构对应:类结构.
- 一行数据对应:一个对象
- 都是解决问题的思维方式,都是代码组织的方式。
- 面向过程是一种“执行者思维”,解决简单问题可以使用面向过程。
- 面向对象是一种“设计者思维”,解决复杂、需要协作的问题可以使用面向对象。
- 面向对象离不开面向过程:
4.1 宏观上:通过面向对象进行整体设计.
4.2 微观上:执行和处理数据,仍然是面向过程。 - 带翅膀(带翅膀不一定是天使,还可能是鸟人)
- 女孩(天使掉下来脸着地,也是天使!)
- 善良
- 头上有光环
那么通过这 4 个具体的天使,我们进行抽象,抽象出了天使的特征,我们也可以归纳一 个天使类。 通过这个过程,类就是对象的抽象。
类可以看做是一个模版,或者图纸,系统根据类的定义来造出对象。我们要造一个汽车, 怎么样造就是这个图纸,规定了汽车的详细信息,然后根据图纸将汽车造出来。
类:我们叫做 class。 对象:我们叫做 Object,instance(实例)。以后我们说某个类的对 象,某个类的实例。是一样的意思。
2.2 面向对象是“设计者思维
面向对象是一种“设计者思维”。设计时,先从问题中找名词,然后确立这些名词哪些 可以作为类,再根据问题需求确定的类的属性和方法,确定类之间的关系。
设计一款企业管理软件,我们需要进行面向对象分析(OOA:Object-Oriented Analysis),写一首诗、一篇文章、一篇小说也需要进行面向对象分析。
因此,面向对象这种思维是任何人都需要学习、任何人都需要掌握的。
2.3 面向对象分析:写诗
“面向对象思维”不止适合工科、理科,也适合文科。比如:我要写一首诗,就是一种 设计的过程,怎么样用简单的、有意境的词汇来描述一个场景。
《登鹳雀楼》是一首名诗,我们使用面向对象的思维方式分析一下。
2.4. 面向对象分析
2.4.2 人物设计分析
一个茶馆就是一个小 会,各类人物开始出现,他们不同的命运也被体现,侧面反映出 当时黑反腐朽的时代。
本节课从另一个角度出发,帮助大家理解对象。从数据管理的角度出发,看待对象是如 何诞生的。
事物的发展总是遵循“量变引起质变”的哲学原则;企业管理和数据管理、甚至 会管 理也有很多共通的地方。本节课类比企业管理的发展,让大家更容易理解为什么会产生“对 象”这个概念。
·数据无管理时代
最初的计算机语言只有基本变量(类似我们学习的基本数据类型),用来保存数据。那时 候面对的数据非常简单,只需要几个变量即可搞定;这个时候不涉及“数据管理”的问题。 同理,就像在企业最初发展阶段只有几个人,不涉及管理问题,大家闷头做事就 OK 了。
数组管理和企业部门制
企业发展中,员工多了怎么办们很自然的想法就是归类,将类型一致的人放到一起; 企业中,会将都做销售工作的放到销售部管理;会将研发软件的放到开发部管理。同理在编 程中,变量多了,我们很容易的想法就是“将同类型数据放到一起”, 于是就形成了“数 组”的概念,单词对应“array”。 这种“归类”的思想,便于管理数据、管理人。
·对象和企业项目制
企业继续发展,面对的场景更加复杂。一个项目可能需要经常协同多个部门才能完成工 作;一个项目从谈判接触可能需要销售部介入;谈判完成后,需求调研开始,研发部和销售 部一起介入;开发阶段需要开发部和测试部互相配合敏捷开发,同时整个过程财务部也需要 跟进。在企业中,为了便于协作和管理,很自然就兴起了“项目制”,以项目组的形式组织, 一个项目组可能包含各种类型的人员。 一个完整的项目组,麻雀虽小五脏俱全,就是个创 业公司甚至小型公司的编制,包含行政后勤人员、财务核算人员、开发人员、售前人员、售 后人员、测试人员、设计人员等等。事实上,华为、腾讯、阿里巴巴等大型公司内部都是采 用这种“项目制”的方式进行管理。
同理,计算机编程继续发展,各种类型的变量更加多了,而且对数据的操作(指的就是 方法,方法可以看做是对数据操作的管理)也复杂了,怎么办br> 为了便于协作和管理,我们“将相关数据和相关方法封装到一个独立的实体”,于是“对 象”产生了。 比如,我们的一个学生对象: 有属性(静态特征):年龄:18,姓名:高淇,学 :1234 也可以有方法(动态行为):学习,吃饭,考试 请大家举一反三,根据上表理解一下企业的进化史,会发现大道至简。原来,数据管理、 企业管理、 会发展也是有很多共通的地方。“量变引起质变,不同的数量级必然采用不同 的管理模式”。
3.2 类的定义
做了关于对象的很多介绍,终于进入代码编写阶段。本节中重点介绍类和对象的基本定 义,属性和方法的基本使用方式。
属性(field 成员变量)
属性用于定义该类或该类对象包含的数据或者说静态特征。 属性作用范围是整个类体。 在定义成员变量时可以对其初始化,如果不对其初始化,Java 使用默认的值对其初始化。
4 构造方法(构造器 constructor)
4.1 构造方法基础用法
构造器也叫构造方法(constructor),用于对象的初始化。构造器是一个创建对象时被 自动调用的特殊方法,目的是对象的初始化。构造器的名称应与类的名称一致。Java 通过 new 关键字来调用构造器,从而返回该类的实例,是一种特殊的方法。
声明格式:
构造器 4 个要点:
1.构造器通过 new 关键字调用!!
2. 构造器虽然有返回值,但是不能定义返回值类型(返回值的类型肯定是本类),不能 在构造器里使用 return 返回某个值。
3. 如果我们没有定义构造器,则编译器会自动定义一个无参的构造方法。如果已定义 则编译器不会自动添加!
4. 构造器的方法名必须和类名一致!
演示的代码如下:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!