这样理解面向对象的程序设计思想

前言

Java是一门纯面向对象语言,它不像c++那样,即支持面向对象,又支持面向过程.想要学好java就应该先对什么是面向对象和面向过程有所理解.这里较为笼统的说一下面向对象与面向过程的区别

传统的面向过程程序设计语言把程序概括为:程序=数据结构+算法;

而面向对象的程序设计语言把程序概括为: 程序=对象+消息

面向对象与面向过程

面向过程语言着重于解决问题的过程,在程序设计采用的是过程抽象,

它将一个复杂的问题,分解成若干子问题,如果子问题还是比较复杂
则继续分割,得到一个个可以解决的小问题后,分析出解决每个小
问题所需要的步骤,然后把步骤一步一步实现。

面向对象语言着重于将数据和操作结合为一个不可分的系统单位(类或对象),

它将代码和数据结合在一起,封装成对象后,我们只需要只到对象
有什么属性,对象能做什么,而不需要知道它的内部实现.以分类的
方式进行思考和解决问题,面向对象的思维方式适合于处理复杂
的问题。它的思想也更符合人类的逻辑思维与认知习惯。

面向对象与面向过程的不同

下面通过编写求学生总成绩的程序实例来说明,面向对象和面向过程程序设计的不同

在面向对象的程序设计中将学生看出一个学生对象

public class Student { //将学生抽象成一个学生类
    int chinesegrade;
    int mathgrade;
    int englishgrade;  //类的属性

    public int getgradenum(int c,int m,int e){  //类的方法(动态特征)
        this.chinesegrade=c;
        this.englishgrade=e;
        this.mathgrade=m;
        return c+e+m;
    }

    public static void main(String[] args) {
        Student s=new Student();  //创建学生对象
        System.out.println("总成绩"+s.getgradenum(90,88,76));  
        //将语数英的成绩传给学生对象,然后调用方法求总成绩
    }
}

在面向过程的程序设计中计算学生总成绩看成一个过程

int getgradenum(int c,int m,int e){
    int chinesegrade=c;
    int englishgrade=e;
    int mathgrade=m;
    return c+e+m;
}
....
num=getgradenum(90,88,76);
//将语数英的成绩作为学生总成绩的参数,调用总成绩的过程得到学生的总成绩
....

面向对象基本特征

  • 封装 : 保护内部不受破坏,安全.
  • 继承 : 在原有的基础上进行功能扩充
  • 多态 : 在一定的范围内进行概念转换

补充:面向对象开发分为三个过程:

OOA (面向对象分析) , OOD(面向对象设计) , OOP(面向对象编程)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值