结构化编程与面向对象编程
面向对象编程(OOP)和结构化编程是两种编程范式。编程范式是计算机编程的一种基本样式。编程范例不同于如何表示程序的每个元素以及如何定义解决问题的步骤。顾名思义,OOP专注于使用真实世界的对象及其行为来表示问题,而结构化编程则处理在逻辑结构中组织程序。
什么是结构化编程?
假定结构化编程的诞生年份是1970年。结构化编程被认为是命令式编程的一个子集。结构化程序由简单的程序流结构组成,这些结构是分层组织的。它们是顺序、选择和重复。序列是语句的顺序。选择是指根据程序的当前状态从一组语句中选择一个语句(例如使用if语句),重复是指执行一个语句直到达到某个状态(例如使用for或while语句)。ALGOL、Pascal、Ada和PL/I是当今使用的一些结构化编程语言。
什么是面向对象编程?
在OOP中,重点是从现实世界的元素来思考要解决的问题,并用对象及其行为来表示问题。类描述真实世界对象的抽象表示。类类似于蓝图或模板,它们收集可以组合在一起的类似项或事物。类具有称为属性的属性。属性被实现为全局变量和实例变量。类中的方法表示或定义这些类的行为。类的方法和属性称为类的成员。类的实例称为对象。因此,对象是一种与真实世界中的对象非常相似的数据结构。
有几个重要的OOP概念,如数据抽象、封装、多态性、消息传递、模块化和继承。通常,封装是通过使属性私有化来实现的,同时创建可用于访问这些属性的公共方法。继承允许用户从其他类(称为超级类)扩展类(称为子类)。多态性允许程序员用一个类的对象代替它的超类的对象。通常,在问题定义中找到的名词直接成为程序中的类。同样,动词变成了方法。一些最流行的OOP语言是Java和C。
结构化编程和面向对象编程有什么区别?