一、面向过程与面向对象
何谓“面向对象”的编程思想?
首先解释一下“思想”。
先问你个问题:你想做个怎样的人?
可能你会回答:我想做个好人,孝敬父母,尊重长辈,关爱亲朋……
你看,这就是思想。这是你做人的思想,或者说,是你做人的原则。
做人有做人的原则,编程也有编程的原则。这些编程的原则呢,就是编程思想。
1.1 面向过程与面向对象
- 面向过程(POP) 与 与 象 面向对象(OOP)
(1)二者都是一种思想,面向对象是相对于面向过程而言的。面向过程,强调的是功能行为,以函数为最小单位,考虑怎么做。面向对象,将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。
(2) 面向对象更加强调运用人类在日常的思维逻辑中采用的思想方法与原则,如:抽象、分类、继承、聚合、多态等。 - 面向对象的三大特征
(1)封装 (Encapsulation)
(2)继承 (Inheritance)
(3)多态 (Polymorphism)
面向对象:Object Oriented Programming
面向过程:Procedure Oriented Programming
简单举个例子来说明一下什么是面向过程?什么是面向对象?
面向过程:
1. 打开冰箱
2. 把大象装进冰箱
3. 把冰箱门关住
面向对象:
人{
打开(冰箱){
冰箱. 开门();
}
操作( 大象){
大象. 进入( 冰箱);
}
关闭( 冰箱){
箱 冰箱. 关门();
}
}
冰箱{
开门(){
}
关门(){
}
}
大象{
进入( 冰箱){
}
}
面向对象的思想概述
- 程序员从面向过程的执行者转化成了面向对象的指挥者
面向对象分析方法分析问题的思路和步骤:
(1)根据问题需要,选择问题所针对的现实世界中的实体。
(2)从实体中寻找解决问题相关的属性和功能,这些属性和功能就形成了概念世界中的类。
(3)把抽象的实体用计算机语言进行描述,形成计算机* 世界中类的定义。即借助某种程序语言,把类构造成计算机能够识别和处理的数据结构。
(4)将类实例化成计算机世界中的对象。对象是计算机世界中解决问题的最终工具。
1.2类和对象
概述
类(Class)和对象(Object)是面向对象的核心概念。
概念
类是对一类事物的描述,是抽象的、概念上的定义
对象是实际存在的该类事物的每个个体,因而也称为实例(instance)。
“万事万物皆对象”
对象
现实世界中,随处可见的一种事物就是对象。对象是事物存在的实体,如人类、书桌、计算机、高楼大厦等等。一般将对象分为两个部分,即静态部分(属性)和动态部分(行为)。
对象的创建与使用
- 创建对象语法: 类名 对象名 = new 类名();
- 使用“名对象名. 对象成员 ”的方式访问对象成员(包括属性和方法
public class Animal {
public int legs;
public void eat(){
System.out.println(“Eating.”);
}
public viod move(){
System.out.println(“Move.”);
}
}
举例:
public class Animal {
public int legs;
public void eat(){
System.out.println(“Eating.”)