您的位置 首页 java

编程排行榜第一语言Java面向对象概述

IT技术研习社,专注互联网技术研究与分享,喜欢的朋友可以点击【关注】;把经验传递给有梦想的人;

面向过程 编程思想概念

传统的C语言属于面向过程编程。面向过程解决问题的思路:通常是分析出解决问题所需要的步骤,然后用方法把这些步骤一步一步实现,最后一个一个依次调用方法来解决。面向过程过程侧重整个问题的解决步骤,着眼局部或者具体。

案例

ATM 提款机终端系统(面向过程编程)

步骤1:输入密码,系统判断是否正确,如正确,进入取款界面,如错误,提示重新输入。

步骤2:进入取款界面,输入取款金额,系统判断余额是否足够,如不足,提示;如足够,点钞。

步骤3:如果余额不足,取款失败,回到取款界面;如果余额充足,吐出钞票,打印票据。

面向过程编程考虑的问题是程序运行的流程,主要是程序的算法,而数据只是在必要的时候插入到算法中间。

面向过程编程优缺点

优点

流程化使得编程任务明确,在开发之前基本考虑了实现方式和最终结果;

效率高,面向过程强调代码的胆小精悍,善于结合数据结构来开发高效率的程序。

流程明确,具体步骤清楚,便于节点分析。

缺点

需要深入的思考,耗费精力,代码重用性低,扩展能力差,维护起来难度比较高;

对复杂业务来说,面向过程的模块话难度较高, 耦合度 也比较高。

面向对象编程思想概念

从现实世界中客观存在的事物出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们 抽象 地表示为系统中的对象,作为系统的基本构成单位。面向对象解决问题的思路:通常是把构成问题域的事务分解成各个对象,给对象赋予相应的属性和行为,通过多个对象的相互协调来解决问题。建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。支持面向对象编程是 Java 语言的重要特点。

案例

ATM提款机终端系统(面向对象编程)

根据要解决的问题,可以抽象出如下对象

客户

银行卡

现金

票据

这些对象没有先后顺序,共同作用才构成了整个系统。我们只要用代码设计出这几个类型的对象,然后让他们互相通信、传递消息就可以完成系统功能。

面向对象编程思想实际上就是一种运用对象、类、继承、封装、聚合、关联、消息、多态性等概念来构造系统的软件开发方法。

面向对象编程思想优缺点

优点

结构清晰,程序便于模块化,结构化,抽象化,更加符合人类的思维方式;

封装性,将事务高度抽象,从而便于流程中的行为分析,也便于操作和自省;

容易扩展,代码重用率高,可继承,可覆盖;

实现简单,可有效地减少程序的维护工作量,软件开发效率高。

缺点

效率较低,面向对象在面向过程的基础上高度抽象,从而和代码底层的直接交互非常少,从而不适合底层开发和游戏开发,甚至是多媒体开发;

复杂性,对于事务开发而言,事务本身是面向过程的,过度的封装导致事务本身的复杂性提高。

面向对象概念

抽象(abstract)

从事物中舍弃个别的非本质特征,抽取共同的本质特征

只考虑与问题域相关的信息,而忽略与问题域不相关的部分

对象(object)

是系统中用来描述客观事物的一个实体。

可以是有形的,也可以是无形的(如一个客户,一张银行卡,窗体中的一个按钮等等)

对象是构成世界的一个独立单位

具有自己的静态结构(属性)和动态行为(方法)

每个对象有自己的唯一标识

类(class)

类是一组具有相同属性和行为的对象的抽象,类的作用是用来创建对象,对象是类的一个实例

类和对象的关系

抽象和具体的关系。

每一个类在某一时刻都有零个或更多的实例,类是生成对象的模板

一个类定义了使用哪些数据来描述属性,每一个对象都有相应的属性值数据,一个类通过一系列方法来定义行为,这些方法能在每个对象中被激活

封装(encapsulation)- 面向对象主要特征

所谓封装是把对象的属性和行为结合在一个独立的系统单位内部

尽可能隐蔽对象的内部细节,只向外部提供接口

降低对象间的耦合度

封装的重要意义

使对象能够集中而完整地描述并对应一个具体事物

体现了事物的相对独立性,使对象外部不能随意存取对象的内部数据

继承(inheritance)- 面向对象主要特征

也称泛化,继承性是子类自动共享父类属性和方法的机制,在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入自己若干新的内容

继承简化了人们对事物的认识和描述,有益于软件复用,是OO技术提高软件开发效率的重要原因之一

是类之间的一种关系,一般类与特殊类之间的关系

继承关系的语义:“is a kind of”

多态(polymorphism)- 面向对象主要特征

指同一个命名可具有不同的语义

方法中,常指在一般类中定义的属性或方法被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为,对于子类,可用不同的方法替代实现父类的服务的方法

总结

通过本篇文章你可以了解到买那些过程编程思想、面向对象编程思想、面向对象概念;

IT技术研习社,专注互联网技术研究与分享,喜欢的朋友可以点击【关注】;把经验传递给有梦想的人;

文章来源:智云一二三科技

文章标题:编程排行榜第一语言Java面向对象概述

文章地址:https://www.zhihuclub.com/184658.shtml

关于作者: 智云科技

热门文章

网站地图