一、面向过程和面向对象
面向对象和面向过程都是对软件分析、设计和开发的一种思想,是相辅相成的、不是对立的关系。它指导着人们以不同的方式去分析、设计和开发软件。
面向过程:思考如何一步一步完成,如“学开车”。适合简单、不需要协作的事务。
面向对象(object):思考复杂、需要协作的事务。如“如何造车”,无法分为1.2.3.4等步骤。适合开发大型软件。
面向对象更契合人的思维逻辑,是去思考“如何设计”。
面向对象和面向过程总结:
1、都是解决问题的思维方式,都是代码组织的方式;
2、解决简单问题可以使用面向过程;
3、解决复杂问题:宏观上使用面向对象把握,微观处理上仍是面向过程。
(不要钻死胡同,结合后面的代码练习,需要温故知新)
对象(object):数据管理方式,内存中对象是个内存块,是一小块数据(包含很多很多数据)。
面向对象的特点:封装、继承、多态
封装:1)隐藏不需要客户关心的
2)打包、装存
继承:继承原有的,拓展新的
多态:1)同一东西在不同条件下呈现的姿态不同,如:水、水蒸气、冰
2)不同的对象对同一事物(消息)做出不同的响应
二、类(class)
类:对象的共性,抽象概念
对象:具体的事物
方法:用来操作对象
属性:用来描述对象
语法:
class 类名{ //规范:建议类名首字母大写,每个单词的首字母都大写
java中,定义一个类
}
1、类可以看做是对象的模板,或图纸,系统根据类的定义来造出对象(实例)。
2、类是对象的抽象,对象是类的具体。
如:笔,钢笔、铅笔,都是笔。
3、对象和实例是一回事。(对象是具体的事物)
new一个对象,通过调用构造方法创建一个对象。
构造方法名必须与类名相同。
4、属性(描述对象用的)
光有属性,没有方法,是结构体。
5、一个典型类的定义和UML图
用来表示类的基本结构