面向过程:强调的是每一个功能的步骤,有很多很多方法组成,这些方法相互调用,完成需求。 面向对象:强调的是对象,然后由对象去调用功能。 面向过程:如果做小的项目,则效率非常高,很快就能实现,但是后期维护非常麻烦。 面向对象:如果做大的项目,则效率相对会低,但是代码结构性很好,后期维护容易。从这个方面来说,效率反而提高了。
面向对象的思想特点:
1. 是一种更符合我们思想习惯的思想 2. 可以将复杂的事情简单化 3. 将我们从执行者变成了指挥者
分三步:
1.打开冰箱门
2.装进大象
3.关闭冰箱门
代码示例:
class Demo {
public static void main(String[] args) {
/*
System.out.println("打开冰箱门");
//打开冰箱门的动作,现在仅仅是为了演示,就写了一个输出语句,其实,它可能需要做很多操作。这个时候代码就比较多一些了。
//假设我要多次打开冰箱门,代码一多,每次都写一遍,麻烦不?
//我们就应该用方法改进。
System.out.println("装进大象");
System.out.println("关闭冰箱门");
*/
//写了方法以后,调用就改变了。
open();
in();
close();
public static void open() {
System.out.println("打开冰箱门");
}
public static void in() {
System.out.println("装进大象");
}
public static void close() {
System.out.println("关闭冰箱门");
}
}
面向对象:
我们怎么才能更符合面向对象思想呢? 1:有哪些类呢? 2:每个类有哪些东西呢? 3:类与类之间的关系是什么呢? 把大象装进冰箱的分析?(如何分析有哪些类呢?答:名词提取法。)(UML:统一建模语言。) A:有哪些类呢? 大象类 冰箱类 Demo类 B:每个类有哪些东西呢? 大象类: 进去 冰箱类: 开门 关门 Demo类: main方法 C:类与类之间的关系是什么呢? Demo类中使用大象类和冰箱类的功能。
代码示例:
class 大象 {
public static void in() {
System.out.println("装进大象");
}
}
class 冰箱 {
public static void open() {
System.out.println("打开冰箱门");
}
public static void close() {
System.out.println("关闭冰箱门");
}
}
class Demo {
public static void main(String[] args) {
冰箱.open();//冰箱类调用开门方法
大象.in();大象类调用进去方法
冰箱.close();冰箱类调用关门方法
}
}