Java_面向对象与面向过程的区别

转:https://blog.youkuaiyun.com/u011526599/article/details/51337364

         本文是为了方便作者自己记忆写的,所以有很多di'f地方是针对我自己来写的,所以有很多地方写的并不详细,如果有看不懂的可以在上面那个帖子去看,那个更加的详细。

         面向过程进行编程时,我们需要通过对于事物的动作进行编程考虑,而面向过程编程时我们需要时面向对象进行编译分类,在每一个子类中对对象的动作进行描述描述,例子如下:

还是以上面的“把大象装冰箱”来探讨面向随想和面向过程的区别与联系

分析一下需求

第一步:把冰箱门打开;

第二步:把大象装进去;

第三步:把冰箱门关上。

运用面向过程的思想来实现

ProcedureOriented

package com.baosight.test;
 
/**面向过程测试类
 * <p>Title:ProcedureOriented </p>
 * <p>Description:TODO </p>
 * <p>Company: </p> 
 * @author yuan 
 * @date 2016-5-7 上午10:25:16*/
public class ProcedureOriented {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
//        System.out.println("把冰箱门打开");
//        System.out.println("把大象装进去");
//        System.out.println("把冰箱门关上");
        open();
        in();
        close();
    }
 
    /** 
     * @Title: close 
     * @Description: TODO 
     * @return void  
     * @author yuan
     * @date 2016-5-7上午10:33:37
     */ 
    private static void close() {
        // TODO Auto-generated method stub
        System.out.println("把冰箱门关上");
    }
 
    /** 
     * @Title: in 
     * @Description: TODO 
     * @return void  
     * @author yuan
     * @date 2016-5-7上午10:33:07
     */ 
    private static void in() {
        // TODO Auto-generated method stub
        System.out.println("把大象装进去");
    }
 
    /** 
     * @Title: open 
     * @Description: TODO 
     * @return void  
     * @author yuan
     * @date 2016-5-7上午10:32:43
     */ 
    private static void open() {
        // TODO Auto-generated method stub
        System.out.println("把冰箱门打开");
    }
 
}

运用面向对象的思想来实现

须向创建大象类/冰箱类,冰箱类中2个方法,打开和关闭,大象类1个方法,装

Elephant

package com.baosight.test;
 
/**大象类
 * <p>Title:Elephant </p>
 * <p>Description:TODO </p>
 * <p>Company: </p> 
 * @author yuan 
 * @date 2016-5-7 上午10:27:16*/
public class Elephant {
    public void in() {
        System.out.println("把大象装进去");
    }
}
Refrigerator

package com.baosight.test;
 
/**大象类
 * <p>Title:Elephant </p>
 * <p>Description:TODO </p>
 * <p>Company: </p> 
 * @author yuan 
 * @date 2016-5-7 上午10:27:16*/
public class Elephant {
    public void in() {
        System.out.println("把大象装进去");
    }
}
Refrigerator

package com.baosight.test;
 
/**冰箱类
 * <p>Title:Refrigerator </p>
 * <p>Description:TODO </p>
 * <p>Company: </p> 
 * @author yuan 
 * @date 2016-5-7 上午10:29:03*/
public class Refrigerator {
    public void open() {
        System.out.println("把冰箱门打开");
    }
 
    public void close() {
        System.out.println("把冰箱门关上");
    }
}
测试类ObjectOrientedDemo

package com.baosight.test;
 
/**面向对象测试类
 * <p>Title:ObjectOrientedDemo </p>
 * <p>Description:TODO </p>
 * <p>Company: </p> 
 * @author yuan 
 * @date 2016-5-7 上午10:31:52*/
public class ObjectOrientedDemo {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //大象类
        Elephant elephant = new Elephant();
        //冰箱类
        Refrigerator refrigerator = new Refrigerator();
        //打开冰箱
        refrigerator.open();
        //装进大象
        elephant.in();
        //关闭冰箱
        refrigerator.close();
    }
 
}

上面2种实现的运行结果是一致的

上面简单讲述了面向对象和面向过程的联系与区别,值得一提的是虽然Java等现在流行的语言是面向对象的,但是,作为编程语言基础的C语言是面向过程的。在实际的使用中,面向对象和面向过程的思想是紧密联系的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值