理解【面向过程】与【面向对象】
技术拓展
2022年5月14日
70
理解【面向过程】与【面向对象】已关闭评论
0
导读:本篇文章讲解 理解【面向过程】与【面向对象】,文章出自:https://blog.csdn.net/weixin_43316702/article/details/107980962希望对大家有帮助,欢迎收藏,转发!站点地址:www.javazhiyin.com.com
面向过程和面向对象在面试中是会经常问到的,面向过程和面向对象看起来很像,但他们的思想是不同的。
面向过程:面向过程顾名思义是强调一个过程,一个功能实现的过程,没有注重实现的细节;
面向对象:强调的是将功能封装进对象,强调具备功能的对象,注重实现的细节;
例如:一个人用洗衣机洗衣服
就这个例子而言,面向过程是一个人用洗衣机洗衣服,即一个过程,java程序来讲即是直接打印一句话,表述这个过程,而面向对象呢,他会将这个过程拆分成几个步骤,首先是“一个人”,一个人代表着一个对象,我们通常会写成new一个people类,怎么样的人我们也可以形容(性别身高啥的都可以写),“用洗衣机”是第二步,即洗衣机也是一个对象,用人去调用洗衣机,最后一步“洗衣服”,洗衣服可以是一个方法在洗衣机类中,洗衣机可以有多个功能可以写成多个方法,代码中我是写成机器。
代码如下:
//People类:
public class People {
private String looks; //外观
private String sex; //性别
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getLooks() {
return looks;
}
public void setLooks(String looks) {
this.looks = looks;
}
@Override
public String toString() {
return "一个"+looks+sex+"人";
}
}
//Machine类(机器类)
public class Machine {//关于处理衣服的机器
private People people;
private String machine;//机器(洗衣机、风干机)
public Machine() {
}
public Machine(People people) {
this.people = people;
}
public String getMachine() {
return machine;
}
public void setMachine(String machine) {
this.machine = machine;
}
public void washing(){
System.out.println(people.toString()+"用"+machine+"洗衣服");
}
public void dehydrating(){
System.out.println(people.toString()+"用"+machine+"风干衣服");
}
}
//测试类
public class OOPtest {
public static void main(String[]args){
People p1 = new People();//创建一个人
p1.setLooks("帅气的");//添加人的属性
p1.setSex("男");
Machine w1 = new Machine(p1);//人去使用机器
w1.setMachine("洗衣机");//使用的是洗衣机
w1.washing();//使用洗衣服功能
//同理如下
People p2 = new People();
p2.setLooks("可爱的");
p2.setSex("女");
Machine w2 = new Machine(p2);
w2.setMachine("风干机");
w2.dehydrating();
}
}
//测试结果:
//一个帅气的男人用洗衣机洗衣服
//一个可爱的女人用风干机风干衣服