首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我怎样才能让这些函数遵循OOP原则呢?

要让函数遵循面向对象编程(OOP)原则,可以采取以下几个步骤:

  1. 封装(Encapsulation):将函数和相关的数据封装在一个类中。类可以提供公共接口,隐藏内部实现细节,使函数更易于使用和维护。
  2. 继承(Inheritance):通过继承机制,可以创建一个基类(父类)并从中派生出其他类(子类)。子类可以继承父类的属性和方法,并可以添加自己的特定功能。
  3. 多态(Polymorphism):多态允许不同的对象对相同的方法做出不同的响应。通过使用接口或抽象类,可以实现多态性,使得函数能够根据不同的对象类型执行不同的操作。
  4. 抽象(Abstraction):通过抽象类或接口定义函数的通用行为和属性,隐藏具体实现细节。这样可以提高代码的可读性和可维护性,并使函数更具扩展性。
  5. 封装数据和行为(Encapsulating Data and Behavior):将数据和操作数据的函数封装在一起,形成一个类。这样可以保护数据的完整性,并提供对数据的控制访问。
  6. 设计模式(Design Patterns):使用常见的设计模式来组织和管理函数。例如,工厂模式、单例模式、观察者模式等可以提供灵活的架构和可扩展性。

总结起来,要让函数遵循OOP原则,需要将函数封装在类中,使用继承、多态和抽象来实现代码的重用和灵活性。同时,封装数据和行为,使用设计模式来提高代码的可维护性和可扩展性。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云服务器(CVM):提供灵活可扩展的云服务器实例,满足各种计算需求。详情请参考:https://cloud.tencent.com/product/cvm
  • 腾讯云云数据库MySQL版(TencentDB for MySQL):提供高性能、可扩展的云数据库服务,适用于各种规模的应用。详情请参考:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云人工智能(AI):提供丰富的人工智能服务,包括图像识别、语音识别、自然语言处理等。详情请参考:https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):提供全面的物联网解决方案,包括设备接入、数据管理、应用开发等。详情请参考:https://cloud.tencent.com/product/iot
  • 腾讯云移动开发(Mobile):提供移动应用开发的云服务,包括移动推送、移动分析、移动测试等。详情请参考:https://cloud.tencent.com/product/mobile
相关搜索:我怎样才能阻止这些汽车互相碰撞呢?我怎样才能输入这个接受混合函数作为参数的函数呢?我怎样才能写出这段代码,让typescript推理变得顺畅呢?我怎样才能改进我的打字脚本以适应这个函数图呢?我怎样才能更有效地编写代码,让它运行得更快呢?我怎样才能把所有这些字典组合在一起呢?我怎样才能让这些div在页面响应性的作用下互相移动呢?有些代码不起作用。我不知道为什么。我怎样才能让这些代码工作呢?我怎样才能让这段代码更有效率,让它运行得更快呢?我怎样才能摆脱这些海路弃用警告,同时仍然得到完全相同的数字呢?我有一个变量列表和一个函数。我如何创建一个循环来让这个函数遍历这些变量呢?我怎样才能把这个foreach push循环变成一个reducer函数呢?我怎样才能相信这个函数从列表理解中返回一个值呢?我怎样才能写出一个关于读取堆的函数的Dafny公理呢?我怎样才能阻止随机函数把随机元素放在另一个上面呢?为什么这些对象在屏幕上弹来弹去的这么快。我怎么让他们慢下来呢?我怎样才能使这个函数递归,并删除这里的for in循环呢?其中我使用此函数得到Maark、Maary等的结果Connect返回一个对象,但是我如何让它返回一个函数呢?调用另一个JS文件中的全局函数。我怎样才能让“这”起作用呢?我怎样才能让用户输入各种各样的东西,并让它们在一个numpy数组中工作呢?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python 工匠:写好面向对象代码的原则(上)

“SOLID” 由 5 个单词组合的首字母缩写组成,分别代表 5 条不同的面向对象领域的设计原则。 在编写 OOP 代码时,如果遵循这 5 条设计原则,就更可能写出可扩展、易于修改的代码。...那么,要如何修改代码才能让它遵循“单一职责原则?办法有很多,最传统的是:把大类拆分为小类。...来举一个例子:你知道 Python 里的内置排序函数 sorted 吗?...“开放-关闭原则”告诉我们,类应该通过扩展而不是修改的方式改变自己的行为。那么应该如何调整代码,它可以遵循原则? 使用类继承来改造代码 继承是面向对象理论中最重要的概念之一。...,对扩展开放 找到需求中频繁变化的那个点,是遵循 O 原则的重点所在 使用子类继承的方式可以类遵守 O 原则 通过定义算法类,并进行依赖注入,也可以遵循 O 原则 将数据与逻辑分离,使用数据驱动的方式也是改造代码的好办法

97920

【技术创作101训练营】代码设计与单元测试

其实我们平时的项目代码中有多少人是为了简单的代码复用而选择继承?一些函数用的较多,就提取出一个父类,把这些函数放进去,需要使用的类去继承这个父类,这是误用继承的典型范例。...image.png 大家看到这个标题可能会感到奇怪,为什么为称这些设计原则“假大空”,其实这些原则不假也不空,但是给我们的感觉就是虚无缥缈,没有很好的方法去落地。...image.png SOLID中依赖倒置原则认为是最重要的原则。因为遵循这个原则,我们可以有效解耦代码,这一点很重要,我们后边要讲的单元测试就和它有很大的关系。...这两大领域目前最优秀的框架其实都在引导用户遵循依赖倒置原则来设计代码,用于使用这些框架写出来的代码天然就是解耦的。...在进行可测设计时,我们要思考如何解耦代码,在分离逻辑,拆分模块时,我们要遵循面向对象的原则,高内聚低耦合的原则,接口隔离原则,依赖倒置原则等等...

950492
  • Java 程序员应在2019年学习的10条面向对象(OOP)设计原则

    面向对象的设计原则OOP 编程的核心,但是看到大多数 Java 程序员都在追求诸如 Singleton 模式,Decorator 模式或 Observer 模式之类的设计模式,而对学习面向对象的分析和设计没有给予足够的重视...经常见过各种经验水平的 Java 程序员和开发人员,他们要么从未听说过这些 OOP 和 SOLID 设计原理,要么根本不知道特定设计原理可以提供什么好处以及如何将这些设计原理应用于编码中。...为了发挥自己的作用,已经写下了所有重要的面向对象设计原则,并将其放在此处以供快速参考。这些至少会您对它们是什么以及它们提供的好处有所了解。...3.开放式封闭设计原则 类,方法或函数应对扩展开放(新功能),并为修改关闭。这是另一种美丽的 SOLID 设计原则,它可以防止他人更改已经尝试和测试过的代码。...无论如何,这是所有这些OOP设计原则的不错的总结。

    54030

    谈谈编程思想

    = "": r *= int(t) return r calc(s, "*") 20160 如果s是个加法的表达式?...同理,如果你写一个微博的api的sdk,你不必为每一个api写一个方法,一个__getattr__就可以将所有api抽象统一。这就是广义的metaprogramming,代码更具动态性。...在django里,我们会写很多view,这些view有各自不同的逻辑,但它们都需要考虑一件事:用户登录(获得授权)后才能访问这些view。...如果说OOP帮助你构建层级式的系统,那么FP(函数式编程)则反其道而行之:在FP的世界里,一切是平的。你要构建的是一个个尽可能抽象的函数,然后将其组织起来形成系统。...脑袋里有了大原则,那么范式,方法论,模式这些实现手段哪个顺手,哪个更好地能解决问题就用哪个。

    91960

    豆瓣 9.1!二刷了这本经典,YYDS

    用更贴近工程师的语言来说:重构就是利用设计模式(如组合模式、策略模式、责任链模式)、软件设计原则(如 SOLID 原则、YAGNI 原则、KISS 原则)和重构手段(如封装、继承、构建测试体系)来代码更容易理解...在上面介绍重构定义的时候,从比较抽象的角度介绍了重构的好处:重构的主要目的主要是提升代码&架构的灵活性/可扩展性以及复用性。 如果对应到一个真实的项目,重构具体能为我们带来什么好处?...有一个两顶帽子的比喻:在开发新功能之前,发现重构可以新功能的开发更容易,于是戴上了重构的帽子。重构之后,换回原来的帽子,继续开发新能功能。...怎样才能算单元测试? 网上的定义很多,很抽象,很容易把人给看迷糊了。觉得对于单元测试的定义主要取决于你的项目,一个函数甚至是一个类都可以看作是一个单元。...遵循方法 《重构:改善代码既有设计》这本书中列举除了代码常见的一些坏味道(比如重复代码、过长函数)和重构手段(如提炼函数、提炼变量、提炼类)。

    37620

    OOP 三大特征之多态(Polymorphism)

    这些原则你可能都听说过,但写代码时,就会忽略细节。 比如: 这显然没有面向接口编程,推荐写法: 差别就在于变量类型,是面向一个接口,还是面向一个具体实现类。...当多态成为语法,就限制了函数指针的使用,犯错率大大降低! 没有继承的多态 封装,多态。至于继承,却不是必然选项。只要能够遵循相同接口,即可表现出多态,所以,多态并不一定要依赖继承。...OOP三大特点的地位: 封装是面向对象的根基,软件就是靠各种封装好的对象逐步组合出来的 继承给了继承体系内的所有对象一个约束,它们有了统一的行为 多态整个体系能够更好地应对未来的变化。...把用户的操作抽象成接口方法,普通用户和管理员用户实现接口方法…… 那么问题来了,这些接口方法的出入参没法完全共用,比如查询用户信息接口,普通用户和超级管理员用户的返回体信息字段不同。...所以没法抽象,请问一下老师这种应不应该抽象?如果应该做成抽象需要怎么分离变的部分 应该分,因为管理员和普通用户的关注点是不同的。管理员和普通用户可以分别提供接口,分别提供相应的内容。

    77910

    开发有效地 Java微服务需要Effective Java

    在执行代码评审时,总是喜欢问这些问题: 代码是否可读且易于理解可维护的代码吗代码是正确的吗它是否遵循公认的最佳实践如果您是一位经验丰富的Java开发人员,那么您可能已经具备了帮助您回答这些问题的直觉和知识...但是你怎样才能做得更好呢假设您可以世界上最好的Java开发人员向您解释他们如何回答这些问题?...他向您解释如何编写有效的Java的前提。 一旦您通读了这些规则并理解了其背后的原因,您就会真正开始感觉自己正在成为Java语言的母语使用者。...那么微服务在过去两年的职业生涯中,一直在使用Spring Boot和基于Grails的微服务。...这两种都是很好的技术(如果你要求的话,更喜欢Spring Boot),可以你快速交付……这两种技术都不能让你免于编写糟糕的代码! 根据我的经验,微服务体系结构是相当困难的。

    41420

    再谈编程范式(3):理解面向过程面向对象函数式编程的精髓

    面向对象(OOP) 面向对象则是随着.Net和Java一起来到我的世界,这个时候已经知道面向过程存在一些问题,也学习过设计模式了,知道程序设计七大原则。...有了这些理论该怎么解决面向过程中存在问题?接着上边的案例,洗衣机洗衣服,主要涉及两个对象,洗衣机,有两个方法打开洗衣机,关上洗衣机。而人则有三个方法,放衣服,放洗衣液。...看了以上的定义,对 FP 函数式编程的理解主要有两点: 不改变 input 没有 side effect 和面向对象编程(object-oriented programming,简称 OOP)最大的区别就在于...在OOP语言中,编写代码是为了定义类,并由此定义各自的对象。纯粹的面向对象语言遵循四个核心原则:封装、抽象、继承和多态性。 可变的与不可变的 面向对象编程可以支持可变数据。...函数式编程与OOP:关键的区别 函数式编程 OOP 一个函数是主要单位 对象是主要单位 纯粹的函数没有副作用 方法可能有副作用 遵循更多的声明式编程模型 主要遵循命令式的编程方式 在纯函数式编程语言中,

    1.2K20

    八股文-面向对象的理解

    然而,随着年底的临近,考虑到当前环境下许多开发者可能面临裁员等问题,决定加速建设这个面试经验分享网站,以便为大家提供学习的平台,共同面对职场的挑战。...oop.jpg 面向对象的理解 面向对象编程(Object-Oriented Programming,OOP)是一种程序设计方法,其核心思想是将问题抽象为由若干个对象,通过这些对象之间的调用、配合及协调...面向对象的五大基本原则 面向对象编程(Object-Oriented Programming,OOP)有五大基本原则,通常被称为SOLID原则; -2023-11-04-2145.png 单一职责原则(...开放封闭原则(Open/Closed Principle,OCP) 软件实体(类、模块、函数等)应该对扩展是开放的,但对修改是封闭的。...这五大原则共同构成了一个强大的设计理念,帮助开发者编写可维护、可扩展、灵活的面向对象代码。在实际开发中,遵循这些原则有助于构建更加健壮、可靠的软件系统。

    22720

    重构:改善饿了么交易系统的设计思路

    我们好像完全遗忘了 OOP ,这项古老的技艺被淡化了,这里不是说一定要 OOP 就是完美的,准确来说是“面向问题”范式的拥趸者,比如, Java从骨子里就是要 OOP ,但是业务流程不一定需要 OOP...… 采取合适的范式后,我们需要向上抽一个层次,来关注代码之上的逻辑,多年软件工程的发展沉淀下来了一些基本原则和模式,并被证明可以指导我们如何把数据和函数封装起来,然后再把它们组织起来成为程序。...SOLID 有人将这些原则重新排列下顺序,将首字母组成 SOLID ,分别是:SRP、OCP、LSP、ISP、DIP。这里针对其中几个原则来举些例子。...可以发现只要总结规律,总会出现这样或那样的原则,但每个的原则的使用都不是一劳永逸的—需要不断根据实际的需求变化做代码调整,原则也不是万金油,不能无条件使用,否则会因为过分遵循也会带来不必要的复杂性,比如经常见到一些使用了工厂模式的代码...换句话说,只要遵循前面叙述的某些原则这些模式完全可能会自然在系统代码中体现出来,在《敏捷软件开发》这本书里,就特意有一个章节,描述了一段代码随着调整慢慢演进到了观察者模式的过程。

    68220

    重构:改善饿了么交易系统的设计思路

    我们好像完全遗忘了 OOP ,这项古老的技艺被淡化了,这里不是说一定要 OOP 就是完美的,准确来说是“面向问题”范式的拥趸者,比如, Java从骨子里就是要 OOP ,但是业务流程不一定需要 OOP...采取合适的范式后,我们需要向上抽一个层次,来关注代码之上的逻辑,多年软件工程的发展沉淀下来了一些基本原则和模式,并被证明可以指导我们如何把数据和函数封装起来,然后再把它们组织起来成为程序。...SOLID 有人将这些原则重新排列下顺序,将首字母组成 SOLID ,分别是:SRP、OCP、LSP、ISP、DIP。这里针对其中几个原则来举些例子。...可以发现只要总结规律,总会出现这样或那样的原则,但每个的原则的使用都不是一劳永逸的--需要不断根据实际的需求变化做代码调整,原则也不是万金油,不能无条件使用,否则会因为过分遵循也会带来不必要的复杂性,比如经常见到一些使用了工厂模式的代码...换句话说,只要遵循前面叙述的某些原则这些模式完全可能会自然在系统代码中体现出来,在《敏捷软件开发》这本书里,就特意有一个章节,描述了一段代码随着调整慢慢演进到了观察者模式的过程。

    40220

    重构:改善饿了么交易系统的设计思路

    我们好像完全遗忘了 OOP ,这项古老的技艺被淡化了,这里不是说一定要 OOP 就是完美的,准确来说是“面向问题”范式的拥趸者,比如, Java从骨子里就是要 OOP ,但是业务流程不一定需要 OOP...采取合适的范式后,我们需要向上抽一个层次,来关注代码之上的逻辑,多年软件工程的发展沉淀下来了一些基本原则和模式,并被证明可以指导我们如何把数据和函数封装起来,然后再把它们组织起来成为程序。...SOLID 有人将这些原则重新排列下顺序,将首字母组成 SOLID ,分别是:SRP、OCP、LSP、ISP、DIP。这里针对其中几个原则来举些例子。...可以发现只要总结规律,总会出现这样或那样的原则,但每个的原则的使用都不是一劳永逸的--需要不断根据实际的需求变化做代码调整,原则也不是万金油,不能无条件使用,否则会因为过分遵循也会带来不必要的复杂性,比如经常见到一些使用了工厂模式的代码...换句话说,只要遵循前面叙述的某些原则这些模式完全可能会自然在系统代码中体现出来,在《敏捷软件开发》这本书里,就特意有一个章节,描述了一段代码随着调整慢慢演进到了观察者模式的过程。

    61520

    编程进阶之路:用简单的面向对象编程提升深度学习原型

    函数、继承、方法、类——这些都是鲁棒的面向对象编程(OOP)的核心思想,但是如果你只是想用 Jupyter notebook 来做数据分析和绘图,那么这些概念也不是非用不可。...而且,还发现在有关数据科学的代码中开始应用 OOP 原则并不难。...因此,只选取一部分代码片段,以此说明如何编码实现前文中详细介绍的那些原则。...为了实现这两个目标,我们将使用以下两个简单的 OOP 原则: 从基类对象创建出一个继承的类; 创建实用函数,然后在代码块中调用它们,该代码块可以给外部用户进行更高阶的优化和分析。...冒着重复自己太多次的风险,在这里再次总结一下, 只要有机会,就为重复的代码块生成函数。 一定要仔细设计 API 和函数(比如,所需要的最小参数集是怎样的?它们是如何为高级编程任务服务的?)

    63320

    Python语言学习:面向对象编程,类和对象,封装、继承和多态

    01面向对象编OOP 1.1 为什么学习和应用OOP? 1 OOP适合更加复杂的需求分析和项目开发。 2 OOP具有更强大的封装能力。...3 OOP相比于面向过程编程(OPP),是另一种编程思维,从谁来做思考需求分析和代码设计与开发。 4 OOP可以提升数据科学工作的效率。 1.2 什么是OOP?...1.3 怎么学习OOP? 通过OOP的概念,我们发现,学习OOP时,我们需要学习这些内容: 1 OOP是一种编程思维和方式。 2 OOP的需求分析是从谁来做开始的,并且要想清楚这个谁要有什么职能。...在程序开发中,应该先有类,再有对象;应该先设计要使用的类,再设计其它类;设计类的时候遵循奥卡姆剃刀原则,即类设计的时候,不要增加没有的或者不必要的属性和方法。...编写程序时,请遵循不写重复代码块的原则。 3 多态,不同的对象调用相同的方法,产生不同的执行结果,增加代码的灵活度,代码可做更丰富的功能。

    53720

    面向对象编程是计算机科学的最大错误

    然而,这些都不是编程范式本身所能强制执行的(而且也没有这样的工具可以强制执行最佳实践)。 内置的 OOP 功能都无助于防止意大利面条代码——封装只是将状态隐藏并分散在程序中,这只会事情变得更糟。...许多数学概念可以直接转化为编程,并为所谓的函数式编程奠定基础。 是什么它如此稳健?它是基于数学,特别是 Lambda 微积分。 来做个比较,现代的 OOP 是基于什么?...这取决于你团队中的初级开发人员是否遵循这样的最佳实践,以及这些实践是否在代码审查中得到执行(这并不总是发生)。 那函数式编程?在函数式编程中,函数式组成(和分解)是构建程序的唯一方法。...说 OOP 和 FP 是互补的,可能就等于说放血和抗生素是互补的,是吗? OOP 违反了许多基本的 FP 原则: FP 提倡纯净,而 OOP 提倡杂质。 FP 代码基本上是确定性的,因此是可预测的。...想到我坐的车运行着用 OOP 编写的软件,就害怕。知道带和我的家人去度假的飞机使用面向对象的代码并没有感到更安全。 现在是我们大家最终采取行动的时候了。

    59850

    JAVA编程基础(三) 面向对象的编程思想与原则

    本节扼要介绍面向对象(OOP)的的概念与原则,与结构式编程形成鲜明的对比。 面向对象的语言,遵循结构式编程语言如C或COBOL语言不同的编程模式。...下面体现这些元素如何应用到人的对象中去的。 作为一个经验法则(As a rule of thumb),可以认为对象是名词,行为是动词。 属性(名词) 一个人会有那些属性?...使用状态和字符串一块的概念,你可以对Person说,“告诉关于你所有属性的一个列表(或给出一个字符串形式)” 面向对象的原则 如果你拥有使用结构式编程的背景,面向对象的含义可能不太清晰。...如果你理解了面向对象的原则:封装性、继承性和多态性,你就会更加清晰的理解OOP了。 封装性 回顾上面提到的关于对象的讨论,这些特点就是工作中封装对象的原则。...java语言确实给你必须遵循原则和产生声音的声音OOP面向对象的代码的工具。因为java不是纯粹面向对象的,你必须通过更多训练编写更好的代码 —— 语言不会强迫你做正确的事,所以你必须自己加强训练。

    20120

    软件设计——依赖倒置

    OOP理论中的重要原则讲一讲。...我们在Java Spring中经常听到”依赖注入”和”控制反转”两个术语,他们和”依赖倒置原则”是什么关系这些术语是什么意思? 到底什么是依赖注入(DI)和控制反转(IoC)?...DI和IoC是实现依赖倒置原则的具体手段,依赖倒置是面向对象编程(OOP)的产物,一句话解释下依赖倒置原则: 抽象不应该依赖实现,实现也不应该依赖实现,实现应该依赖抽象。...这里刻意避开类(Class)这个概念,是为了说明OOP的思维并不一定要”类”这个概念,重点在于通过信息隐藏来解耦,复杂的软件系统可以分而治之。...对象自己管理所依赖对象的生命周期,就像直接雇一个厨师来做牛肉面一样简单粗暴,但更容易违背迪米特法则等其他OOP的理念,项目的可扩展性和可维护性会受到更强的制约。

    58640

    架构整洁之道导读(一)

    拿到译文初稿时,编辑提供了几个备选的译名:《架构简洁之道》,《架构至洁》和《Clean Architecture》,这些名字各有各的考量,在没有了解这本书的核心思想之前,也没有办法给出恰当的判断。...其实凡事总有权衡,遵循前人的译法往往不会太坏。...就像鲍勃大叔书中总结的稳定依赖原则,当我们依赖一种译法次数越多,它就更加稳定,这种稳定先不说能否形成品牌效应,单是SEO就能省去不少功夫,那么何乐而不为?...2012-2014年,江湖唱衰OOP的声音不绝于耳,FP就像一名拯救程序员于水火的侠士想要撼动这片天地。硝烟过后,眼前却不是你死亡的惨状,而是你中有中有你的大团圆结局。...本书的第4部分“组件构建原则”会有答案,有需要,且听下回分解。 ---- [1] 函数式编程简介 于 2018-10-21

    1.7K80

    你遥遥领先的7个编程习惯

    想,或许正是这些习惯他们成为了行业金字塔中最顶尖的那1%。 成为一名工程师,而不是码农 工程是为了解决问题而诞生的。 最好的工程师将代码视为达到目的的手段。...认识的每一个优秀的人都内化了团队的代码标准,并尽可能严格地遵循它,洞悉它的好处。...编写干净代码的一个好方法是遵循原则,比如SOLID原则。虽然它们最初是用面向对象编程(OOP)设计的,但它们可以扩展到通用编程: 单一责任:一个类只能有一个责任。...好的命名没有神奇的值、明确的区别、描述性的函数名称和可理解的变量。 不要让意外发生 代码不应该产生意外。这是通过遵循代码原则和编写适当的测试来实现的。 好的代码是可预测的。...其实,上述所有这些原则和习惯都增加了首次编码的时间。但它们允许工程师一步一步地推进项目的进展。 通过花时间使用标准、适当地测试、使用原则和经常沟通,从长远来看,他们可以节省更多的时间。

    17030

    124道全面且精准的大厂Java面试题分享

    66)在 Java 程序中,有三个 socket,需要多少个线程来处理? 67)Java 中怎么创建 ByteBuffer? 68)Java 中,怎么读写 ByteBuffer ?...79)说出 5 条 IO 的最佳实践 80)列出 5 个应该遵循的 JDBC 最佳实践 81)说出几条 Java 中方法重载的最佳实践?...100)Java 中,怎样才能打印出数组中的重复元素? 101)Java 中如何将字符串转换为整数? 102)在没有使用临时变量的情况如何交换两个整数变量的值?...关于 OOP 和设计模式的面试题 这部分包含 Java 面试过程中关于 SOLID 的设计原则OOP 基础,如类,对象, 接口,继承,多态,封装,抽象以及更高级的一些概念,如组合、聚合及关联。...121) OOP 中的 组合、聚合和关联有什么区别? 122)给我一个符合开闭原则的设计模式的例子? 123)抽象工厂模式和原型模式之间的区别? 124)什么时候使用享元模式?

    1.1K00
    领券