11-面向对象基础

面向对象基础

首先呢,让我们先来举一个我让小明帮我买烟的例子:

第一种方法:

1.我对小明说,你下去到马路对面的帮我买包烟

2.你要先站起来,然后右转到后门

3.如果门没关那你就可以直接出去,如果门关了就要打开然后再出去

4.出门后右转进入楼梯

5.如果有很多人在上下楼梯,那你需要靠右走

6.然后在马路上如果看见有需要帮助的老太太还要扶着她

7.然后买到烟

8.查看找的零钱是不是真的,如果是就退回

......

第二种方法:

1.我对小明说去帮我买一包烟

2.小明买到烟并交给我

我们可以看到,让小明买烟的这两种方法中,第一种方法在买烟的过程中什么情况都要考虑到,而第二种方法就是找到一个人去做事情

所以第一种方法为面向过程,第二种方法为面向对象

所谓的面向过程,就是根据业务逻辑从上到下的写代码

面向对象,就是将数据与函数绑定在一起,进行封装,这样能够更快速的开发程序,减少了重复代码的重写过程

类和对象

我们在建造房子的时候,所用的图纸就相当于是类,用图纸来建造出来的房子相当于对象

人以类聚 物以群分

具有相似内部状态和运动规律的实体的集合(或统称为抽象)

 对象

某一个具体事物的存在,在现实世界上可以是看得见摸得着的

可以是直接使用的

类和对象之间的关系

类就是创建对象的模板

类的构成

类(Class)由3个部门构成:

  类的名称:类名

  类的属性:一组数据

  类的方法:允许对进行操作的方法(行为)

举例

1)人类设计,只关心3样东西:

  事物名称(类名):人(Person)

  属性:身高(height),年龄(age)

  方法(行为、功能):跑(run),打架(fight)

2)狗类的设计:

  类名:狗(Dog)

  属性:品种、毛色、性别、名字

  方法(行为、功能):叫、跑、摇尾巴、吃

类的抽象

如何把日常生活中的事物抽象成程序中的类?

拥有相同(或者类似)属性和行为的对象都可以抽象出一个类

方法:一般名词都是类(名词提炼法)

1)坦克发射2科炮弹轰掉了1架飞机

  坦克-->可以抽象成类

  炮弹-->可以抽象成类

  飞机-->可以抽象成类

2)小明在公交车上牵着一条叼着热狗的狗

  小明:人类

  公交车:交通工具类

  热狗:食物类

  狗:狗类

原文地址:https://www.cnblogs.com/xiaoyafei/p/8571729.html