Java中面向对象思想的浅层解析
一、面向对象的思想
面向对象听起来好像很抽象,很让人难以理解,什么就叫做对象呢,对象到底是什么,为什么要面向对象。
不着急,我们先来看看面向对象的原则:
1.面向对象是让我们所做的事情更符合我们的习惯思想
2.将复杂的事情简单化。
3.将我们从执行者的身份转变为指挥者。
通过结合着三大特征是不是脑海中中突然灵光乍现呢?从执行者变成指挥者,将复杂的事情来简单化,而且要更符合我们的习惯和思想,我来给大家举一个简单的栗子。
如果我们需要做一顿丰盛的晚餐,首先,我们先得去超市购买我们所需要的食材,接着呢,我们把买回来的食材带回家以后,蔬菜要洗干净,鸡鸭鱼肉,要回来处理,腌制。接着呢,处理完这些之后才会开始进入我们的主题做一顿丰盛的晚餐,经过了这么多的步骤,我们才会得到一顿丰盛的晚餐。此时我们扮演的角色就是执行者,一步一步的执行着我们要达成目的的必经步骤。这样的思想我们如果运用到java中用来编写程序时,来让程序达到我们预期的姑功能与目的。这样会让我在编写程序的时候遇到很多的麻烦,功能少一点,代码量少一点还能好一点。但是如果你的程序需求实现的功能非常的多,非常的复杂。代码量非常的大。这样不利于我们以后对程序的更新,或则更改和删除,牵一发而动全身。那有什么办法来解决呢,我们接着上面一顿丰盛的晚餐的栗子继续来说吧。如果把去超市购买食材,来交给A来做,然后把洗蔬菜和处理食材交给B来做,把炒菜煮饭交给C来做的话。这样的话我们的需求一顿丰盛的晚餐,就只需要三个步骤,第一步给出A去超市购买食材的指令,第二部给出B处理食材的指令,第三部给出C做一顿我们丰盛的晚餐的指令,通过这三个指令我们的需求达到了。通过这个简单的栗子我们可以看出,当我们的角色从执行者变成,调度和指挥者之后,我们所需求的目的可以更有效率的达成。
我们所指挥的A,B,C,的三个执行者就可以理解为对象,我们命令对象让对象来帮我执行步骤,达成目的,完成需求。
class Supper{
String demand = ("需求丰盛的晚餐");
public Suppe()r{} //系统默认初始化
public void a(){ //构造方法a 去购买食材
System.out.println("A去购买食材");
}
public void b(){ //构造方法b 去处理食材
System.out.println("B去处理食材");
}
public void c(){ //构造方法b 去做丰盛的晚餐
System.out.println("c去做一顿丰盛的晚餐");
}
}
//测试类
class SupperTest{
public static void main(String[] args){
Supper s = new Supper(); //在SupperTest类中创建一个方法类的对象
System.out.println(s.demand);
s.a(); //通过定义的对象s来调用方法a;
s.b(); //通过定义的对象s来调用方法b;
s.c(); //通过定义的对象s来调用方法b;
}
}
通过上面这段代码我们可以看出只要提前创建一个方法类,把我们需要的方法编写完成,如果以后需要用到,我们就可以在那个方法类直接调用方法.那么怎样去调用方法呢,就是通过对象来调用
**Supper s = new Supper()**
这行代码的意思就是,在Supper类中创建一个对象,
然后我们通过这个对象可以调用方法类的方法.
我们只需要指挥名为s的对象就能达成做一顿丰盛的晚餐的需求.