4.1 面向对象编程

来源:互联网 发布:php魔术常量 编辑:程序博客网 时间:2024/05/16 07:10

面向过程编程,首重算法,其次数据。
面向对象编程,首重数据,其次算法。

1 类

简单点说,类就是模板。
一个模板有自己的属性和动作。属性描述了这个类是什么样的,方法体现了这个类能表现出哪些行为。
一个学生类,可能会有个学号的属性,也会进行学习的方法。
这里,每一个类的实例,那就是一个数据啊,这个类实例拥有的方法就是算法。

面向对象编程的好处就是去耦合化,把大问题简化成为很多小问题,分别逐个解决。去耦合的关键点在于数据分离,即把数据分开不能随意更改别的类的数据。

2 对象

区别一个对象:

  1. 对象的行为
  2. 对象的状态
  3. 对象的识别,即辨别具有相同行为的不同对象,例如,一个初中生和一个高中生都会学习,但学习的内容却不同。

3 类的识别

面向对象的编程设计是自下而上的编程设计,可以先设计类再组合起来完成大的功能。

4 类之间的关系

  1. 依赖关系,使用另一个类。
    如,银行有每个人的信用记录,贷款购房前可能就要用银行类查看信用情况。
    如,我们的Welcome类就使用的System的功能。
  2. 聚合关系,拥有另一个类。
    如,每一个人都有年龄,就使用了int类嘛。
    如,System类为了完成输出功能就用了一个PrintStream类的对象out。
  3. 继承关系,是另一个类。
    如,学生也是人,人有名字,学生也应该有名字,这不冲突的,而且学生比人额外的多一些特征(属性和方法)。
    如,Integer类就继承了Number类,Number类有的它都有,而且还多了一些自己的属性方法。

面向对象的编程很像一种哲学思想。子类总是比父类拥有更多的特征,这也符合细化的思想。

举个统一的例子。
订单类有个完成交易的方法。
购房订单类继承订单类,所以也有完成交易的方法。特别的地方在于,购房订单类有地址,房款等而订单却不一定都有这些东西。
购房订单类如果要完成交易,需要调用银行类查看信用记录再决定是否成交

0 0
原创粉丝点击