结构化编程vs面向对象编程
面向对象编程(OOP)和结构化编程是两种编程范式。编程范式是计算机编程的一种基本风格。编程范式的不同在于如何表示程序的每个元素以及如何定义解决问题的步骤。顾名思义,OOP专注于使用真实世界的对象及其行为来表示问题,而结构化编程则处理在逻辑结构中组织程序。
什么是结构化编程?
我们假定结构化编程的诞生年份是1970年。结构化编程被认为是命令式编程的子集。结构化程序是由简单的程序流结构组成的,这些程序流结构是分层组织的。它们是顺序、选择和重复。序列是语句的顺序。选择意味着根据程序的当前状态从一组语句中选择一个语句(例如,使用if语句),重复意味着执行一个语句直到达到某个状态(例如,使用for或while语句)。ALGOL、Pascal、Ada和PL/I是今天使用的一些结构化编程语言。
什么是面向对象编程?
在OOP中,重点是根据真实世界的元素来思考要解决的问题,并根据对象及其行为来表示问题。类描述真实世界对象的抽象表示。类就像蓝图或模板,它收集了可以组合在一起的类似项目或东西。类有称为属性的属性。属性被实现为全局变量和实例变量。类中的方法表示或定义这些类的行为。类的方法和属性称为类的成员。类的实例称为对象。因此,对象是一种非常类似于现实世界中的对象的数据结构。
OOP中有几个重要的概念,如数据抽象、封装、多态性、消息传递、模块化和继承。通常,封装是通过将属性设置为私有,同时创建可用于访问这些属性的公共方法来实现的。继承允许用户从其他类(称为超类)继承类(称为子类)。多态性允许程序员用类的对象替换其超类的对象。通常,在问题定义中找到的名词直接成为程序中的类。类似地,动词变成了方法。最流行的OOP语言有Java和c#。
结构化编程和面向对象编程的区别是什么?
结构化编程和面向对象编程的主要区别在于,结构化编程的重点是将程序组织成一层子程序,而面向对象编程的重点是将编程任务分解成封装了数据和方法的对象。OOP被认为比结构化编程更灵活,因为OOP将程序分离到子系统网络中,而不是将程序结构化到层次结构中。尽管结构化提供了一定的清晰度,但对一个非常大的结构化程序的一个小更改可能会导致不得不更改多个子程序的连锁反应。
留下一个回复