美文网首页
面向对象程序设计与面向过程程序设计的区别?

面向对象程序设计与面向过程程序设计的区别?

作者: HanMeng | 来源:发表于2018-02-06 19:53 被阅读0次

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

例子:猜数字游戏

class GuessGame{

    Player p1;

    Player p2;

    Player p3;//用3个实例变量分别表示3个player对象

    public void startGame() {

    p1=new Player();

    p2=new Player();

    p3=new Player();//创建出player对象

    int guessp1=0;

    int guessp2=0;

    int guessp3=0;//声明3个变量来保存是否猜中

    boolean p1isRight=false;

    boolean p2isRight=false;

    boolean p3isRight=false;//声明3个变量来保存猜测的数字

    int targetNumber = (int)(Math.random()*10);

    System.out.println("I'm thinking of a number between 0 and 9...");//产生谜底数字

    while(true) {

        System.out.println("Number to guess is "+targetNumber);

        p1.guess();

        p2.guess();

        p3.guess();//调用Player的guess()方法

        guessp1=p1.number;

        System.out.println("Player one guessed "+guessp1);

        guessp2=p2.number;

        System.out.println("Player one guessed "+guessp2);

        guessp3=p3.number;   

        System.out.println("Player one guessed "+guessp3);//取得每个Player所猜测的数字并将它列出

        if(guessp1==targetNumber) {

            p1isRight = true;

        }

        if(guessp2==targetNumber) {

            p2isRight = true;

        }

        if(guessp3==targetNumber) {

            p3isRight = true;

        }//检查是否猜中,若是猜中则去设定是否猜中的变量

        if(p1isRight||p2isRight||p3isRight) {//如果有一或多个猜中

            System.out.println("We have a winner!");

            System.out.println("Player one got it right? "+p1isRight);

            System.out.println("Player two got it right? "+p2isRight);

            System.out.println("Player three got it right? "+p3isRight);

            System.out.println("Game is over");

            break;

            }else {//不然的话就重复循环继续猜下去

                //都没猜到,所以要继续下去

                System.out.println("Players will have to try again.");

            }//if/else结束

        }//循环结束

    }//方法结束

}//类结束

class Player{

    int number = 0;

    public void guess() {

        number = (int)(Math.random()*10);

        System.out.println("I'm guessing "+number);

    }

}

public class hm{

    public static void main(String[] args) {

        GuessGame game = new GuessGame();

        game.startGame();

    }

}

相关文章

  • python面向对象编程

    面向对象编程(一) 1、面向过程程序设计与面向对象程序设计: 面向过程的程序设计把计算机程序视为一系列的命令集合,...

  • *完善面向对象编程思想的发展历程

    1>面向对象和面向过程的区别 过程化程序设计先确定算法,在确定数据结构,面向对象程序设计先确定数据结构,在确定算法...

  • 编程语言基础概念1

    什么是面向对象? 面向对象:指在程序设计中采用封装、继承、多态等设计方法。 什么是面向过程? 面向过程:程序设计按...

  • JavaSE学习笔记——对象与类

    面向对象程序设计的基本概念 面向过程与面向对象的区分传统的程序设计使用的是,结构化程序设计方法,通过设计一系列的过...

  • 史上最全 Python 面向对象编程

    面向对象编程和函数式编程(面向过程编程)都是程序设计的方法,不过稍有区别。 面向过程编程:学习Python中有不明...

  • 九、面向对象

    一、什么是面向过程、面向对象 面向过程与面向对象都是我们编程中,编写程序的一种思维方式。  面向过程的程序设计方式...

  • Java基础-面向对象

    理解什么是面向过程、面向对象 面向过程与面向对象都是我们编程中,编写程序的一种思维方式。 面向过程的程序设计方式,...

  • 三、对象与类

    面向对象程序设计概述 面向对象的程序设计(简称OOP)时当今主流的程序设计范型,已经取代了“结构化”过程化程序设计...

  • 《Java核心技术卷 I》之 Java对象与类

    Java对象与类 面向对象程序设计 面向对象程序设计,简称OOP,Java语言就是完全面向对象的。 类 类(cla...

  • 这是我见过最详细的Python面向对象编程!建议收藏!

    面向对象编程和函数式编程(面向过程编程)都是程序设计的方法,不过稍有区别。 面向过程编程: 导入各种外部库 设计各...

网友评论

      本文标题:面向对象程序设计与面向过程程序设计的区别?

      本文链接:https://www.haomeiwen.com/subject/yjhnzxtx.html