一、概述
1、什么是面向对象?
面向过程:代表语言 C语言 实现功能的每一步都需要我们参与实现,在此之前写的所有程序都是面向过程的思想
面向对象:代表语言,java python 我们从参与者变成了指挥者
2、这两个思想的举例:
喝水:
面向过程思想解释:
拿起水杯 -- 自己走到饮水机面前 -- 自己选择热水还是冷水 -- 自己接水 (参与者)
面向对象思想解释:
祈求同桌帮自己接水 -- 他走到饮水机面前 -- 他选择热水还是冷水 -- 他接水 (指挥者)
3、从伪代码的角度解释
例子:将大象装进冰箱:
面向过程的思想:
class{
public static void main(String[] args){
//打开冰箱门
open();
//将大象放进去
put();
//关闭冰箱门
close();
}
open(){...}
put(){....}
close(){...}
}
面向对象的思想:将大象装进冰箱
1、有哪些类?
1)使用UML来分析
2)名词提取法 大象 冰箱 测试类
2、类中都有些什么?
大象类:进入冰箱的方法
冰箱类:打开冰箱门,关闭冰箱门
3、类和类之间的关系是什么?
在测试类中调用冰箱类中的方法,以及调用大象类中的方法
伪代码实现:
创建一个大象类:
class Elephant{
put(){...}
}
创建一个冰箱类:
class IceBox{
open(){...}
close(){...}
}
创建一个测试类:
class Test{
public static void main(String[] args){
冰箱调用open的方法
大象调用put方法
冰箱调用close方法
}
}
4、面向对象开发
就是不断的创建对象,使用对象,指挥对象做事情。
5、面向对象设计
其实就是在管理和维护对象之间的关系。
6、面向对象特征
封装(encapsulation)
继承(inheritance)
多态(polymorphism)
二、面向对象的实现
面向对象的实现:
1、世间万物皆为对象(一个水杯,一个桌子,一台电脑。。)
都可以从两个方面去描述(属性,行为)
人 ---> class Person
属性:姓名,年龄,身高,体重,性别,... 成员变量:name,age,high,gender
行为:吃饭,睡觉,打游戏,敲代码,.... 成员方法:eat(),sleep(),...
2、对象和类的关系(简单理解为对象是类的具体实例)
一个类可以创建出多个对象