面向对象的编程是一种范式,一种对如何编程的看法。你很快就会看到,OOP给所有的常见问题和困难带来了相当根本的简化,这些问题在实际编程中被反复解决。
面向对象编程的基本思想是将一个大型应用(复杂的任务)划分为许多小部分,我们可以优雅地独立解决。
例如,如果我们为一个机票预订系统编程,这是一个非常复杂的项目,要解决成千上万的情况。如果我们能将所有复杂的逻辑分解成许多层次和部分,我们就能很容易地理解整个复杂的系统,并对各个子任务进行独立编程。
除了学术观点外,还有许多使用OOP的实际理由。
就个人而言,我无法想象一个人以上的团队在编程时有什么不同。
注意:
使用对象会给计算机带来更多的内存和CPU开销,所以这会使应用程序的性能降低一些。然而,在实际环境中,这并不重要,因为将应用程序重新编程为对象确实会损失一些性能(通常是百分之几的单位),但它可以节省程序员的时间(通常是百分之几十到几百)。 人的时间总是比计算机的时间贵得多(而且非常有限)。
不要忘记,OOP也给整个应用程序带来了极大的简化,并允许大型应用程序在合理的时间内完成。如果没有对象,大量复杂的应用程序几乎不可能编程。
软件设计中OOP的基本目标是尽可能地模拟现实世界的属性、行为和原理。OOP中的对象代表真实的实体。这种思维方式使我们能够建立巨大的复杂系统,这些系统可以被很好地理解,在内部解决现实世界的问题,就像没有计算机一样,而且这些原理可以被解释给真正的人。
例如,如果我们正在实现一个内容管理应用程序,在许多真实的实体(文章、作者、类别)中布置所有的内部逻辑是有意义的,并且不是根据人为生成的记录ID(如数据库中的传统做法)而是根据真实的关系来建立会话。
具体实施的例子。
class Article{private Author $author;/** @var Category[] */private array $categories;private string $title;}class Author{private string $name;}class Category{private string $name;}
我们可以看到,"文章 "类不仅包含技术参数,如作者记录的ID,而且是对作者实体的真正绑定,它同样有自己的属性。
关于具体的实现和语法的解释,请参见介绍性教程。
Jan Barášek Více o autorovi
Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.
Rád vám pomůžu:
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | zh