Oop 在没有继承的情况下,如何设计控件树/层次结构?

我知道当时的反应 而且我也意识到合成比继承更重要 但在某些情况下,继承确实起到了很好的作用。继承层次结构的不正确使用导致了与重用相关的所有问题 以以下控件为例 Button/Textbox/Combobox/ListBox/Grid etc. 通常,它们被实现为 public class Control { ... } public abstract class TextBoxBase : control { .... } public class TextBox : T

Oop 设计适当的类

我读过所有关于为什么要创建一个类以及类似“在需求中查找名词”之类的书,但这似乎还不够。我觉得我的课很乱。我想知道是否有一些指标或东西,我可以比较我的类,看看是否有良好的设计。如果不是,谁是最受尊敬的OO大师,我可以从中获得正确的课堂设计技巧?我认为对象设计既是科学也是艺术。理解如何设计干净优雅的课堂需要时间和实践。如果你能举一个你设计的一个简单类的例子,你会对它感到不满意,这样用户就可以进行评论并给出建议。我不确定在你已经阅读的文本之外还有什么一般性的答案。我个人知道的最受尊敬的OO大师是Sta

Oop 代码是否有气味?验证器和模型共享同一种层次结构

在将模型放入数据库之前,我们使用spring验证来验证模型。 比如说 订单-->订单项 在将订单保存到数据库之前,OrderValidator会对其进行验证 OrderValidator验证委托给OrderItemValidator的订单,以验证订单中的OrderItem。因此,本例中的层次结构或验证器如下所示 OderValidator-->OrderItemValidator 验证器和模型中都存在订单包含orderItems的知识 我想知道这是否是隐式重复的标志(类似于代码气味)。 如果是,

Oop 模板方法与策略设计模式

这可能是一个新手问题,因为我是设计模式的新手,但我正在研究模板方法和策略DP,它们看起来非常相似。我可以阅读定义、检查UML并查看代码示例,但对我来说,策略模式似乎只是使用模板方法模式,但您只是碰巧将其传递到和对象(即组合) 就这点而言,模板方法似乎只是基本的OO继承 我是否遗漏了他们分歧的一些关键方面?我是否遗漏了一些模板方法,使其不仅仅是基本继承 注意:之前有一篇关于这个()的文章,但是更多的是关于何时使用它,这有助于我获得更多的信息,但是我希望我对模式本身的想法是有效的 基本上都可以归结为

Oop 理解对象交互的一些技巧是什么

在启动一个新的应用程序时,有哪些方法可以决定您需要什么对象、它们应该做什么以及它们应该如何相互交互 这是白板的工作,还是只需开始编码并根据需要移动内容就更容易了?这应该或多或少“自然”地符合要求 您是否对应用程序的功能、范围等有深入的了解 这实际上取决于您所谈论的项目的规模:对于团队建设商业软件,必须采用的方法和严格程度与个人项目不同 也就是说,以下是一些一般提示: 1) 在您选择的媒介(我喜欢白板)上,开始列举用例或用户故事。继续,直到你觉得你已经得到了最重要的/包含80%的覆盖 2) 当您对

Oop UML箭头的解释

我最近一直在学习UML,并在类之间用普通的普通箭头绘制简单的图表,但我知道这还不够。还有很多其他箭头:概括、实现等,它们对图表读者有意义 是否有一个很好的资源可以解释每个箭头(普通、普通、点状、钻石填充、钻石) 最好能有一些代码示例。我最喜欢的UML“备忘单”是Martin Fowler的。这是我读过的唯一一本推荐他的书。这里是简化教程: 有关更多信息,我建议获取一些文献。以下是Visual Studio 2015文档中的一些解释: UML类图:参考: 5:关联:两个量词成员之间的关系 5a

Oop 面向对象设计问题

在这种简单的情况下,什么是好的设计: 比如说,我有一辆基类汽车,它的加油方法是FillTank(Fuel)where 燃料也是一个基本类,有几个叶类,柴油,乙醇等 在我的leaf汽车类柴油车上。只加注油箱(燃油)某种类型的燃油 是允许的(没有意外:))。现在我关心的是,根据我的界面,每辆车都可以加注任何燃油,但我认为这似乎是错误的,在每个FillTank()实现中,检查输入燃油的类型是否正确,如果没有,则抛出错误或其他错误 我怎样才能重新设计这样的案例,使之更加准确,甚至可能吗? 如何设计一个基

Oop 为什么可以';在类';Scala中的伴星对象是什么?

我正在为我的面向对象设计课做家庭作业,而Scala的伴生对象却给我带来了麻烦。我在一些地方读到过,同伴对象应该可以访问同伴类的私有方法,但我似乎无法让它工作。(请注意,作业的内容与实现二叉搜索树有关,所以我不仅仅是在问答案……) 我有一个对象,该对象应该创建我的私有类的一个实例,BSTALAS(Bst也在Atlas对象中定义,为了清晰起见,将其取出): 但是当我开始编译时,我得到以下错误: 问题23.scala:15:错误:方法 无法在中访问helpFocusRoom 阿特拉斯,阿特拉斯 a、

Oop MATLAB的快速脏类构造函数?

我试图让MATLAB比它(对我来说)更有用,我一直想解决的问题之一是更好的类构造函数。我希望有以下界面: MyClass.new(some_args).method1; # instead of classical: obj = MyClass(some_args); obj.method1; 我可以通过定义一个静态方法new轻松实现这一点: classdef MyClass methods function obj = MyClass(varargin); end fu

Oop 使用面向对象设计。。需要帮助吗

假设我们有一个Order类和OrderManagerService类 Order类:[某些状态和作用于该状态的方法] 项目[] 地位 OrderManagerService类:[没有状态。只有以下静态方法] 创造秩序 获得订单 问题:假设我们在后面使用关系数据库。我们的目标是更新订单状态。嗯,数据库中的状态需要更新。我关心的是updateStatus方法放在哪里 那么我应该调用OrderManagerService.getOrder,调用Order.updateStatus吗 或者创建一个新方法

Oop 构建器与装饰器模式

从 据说builder模式适合比萨饼的例子 为什么不是装饰师? 将奶酪、意大利香肠、培根作为基础比萨的附加装饰 是因为奶酪/意大利香肠必须分开制作吗。我不认为,它们需要单独建造,因为它们可以是现成的 请澄清。 我也在寻找一个很好的现实世界中的装饰模式的例子,以及为什么它适合这个特定的例子。谢谢。你混淆了两件截然不同的事情。GoF将Builder分类为一种创造性模式,而Decorator是一种结构模式。其描述如下(Gamma等人,第1页): Builder(97)将复杂对象的构造与其表示分离,以便

Oop 拉曼&x27;s系统操作合同-CRUD示例

我对在CRUD类操作上应用Larman的系统操作契约(应用UML和模式一书中的OO分析)有些困惑。更确切地说,我对后条件部分感到困惑 例如,如果我的CRUD系统操作如下所示: createEmployee(employee:Employee), readEmployee(employeeId:int), updateEmployee(employee:Employee), deleteEmployee(employeeId:int) 例如,readEmployee系统操作或其他操作(如s

Oop 如何处理特定类型集合的操作?

在我的应用程序中的几个不同的地方,我需要取一个Seq[SalesRow]并返回一个Map[String,SalesRow],其中字符串是一个国家的名称 我需要在几个地方使用这个。例如,我获取所有SalesRow的列表,并按国家对全球销售额进行细分。但在其他地方,我想先按月份再按国家(因此Map[month,Seq[SalesRow]]]变成Map[month,Map[String,Seq[SalesRow]]])-在其他地方,我想先按天再按国家进行细分 我的问题是:我应该把(少量)逻辑放在哪里,

Oop 图形用户界面中的拖放

是否可以在GUI中创建一个对象,通过将其“位置”属性设置为光标位置,我可以通过光标位置(单击时拖动)来定义该对象的位置?我应该使用什么功能?您可以在GUI中创建一个不可见的轴,并在其中绘制您想要的任何对象。然后,可以使用“从文件交换”来允许将对象拖动到整个位置 您可以使用该功能打开GUI对象的移动和调整大小。然后,您可以用鼠标单击并拖动对象。就这么简单: set(hObject,'ButtonDownFcn','selectmoveresize'); 不那么简单的是,如果您的GUI对象是,在这

Oop 连载导致深度克隆?

我在读一篇由ASF撰稿人撰写的文章,他简要地提到深度克隆对象的“老Java技巧”是序列化对象,然后将其反序列化回另一个对象。当我读到这篇文章时,我停了下来,想“嘿,这太聪明了。”不幸的是,这篇文章的主题既不是深度克隆,也不是序列化,因此作者从来没有给出他所说的例子,在线搜索也没有从这方面撤回任何东西 我不得不假设,我们谈论的是这样的事情: public class Dog implements Serializable { // ... public Dog deepClone

Oop 我如何知道一个类是助手还是服务?

我在我的项目中使用DDD体系结构,我需要创建一个类来生成一个用于另一个类的GUID 生成我的GUID的此类是基础结构服务还是基础结构帮助程序 我如何知道一个类何时是助手或服务?服务能够服务于一些客户机,通常这是一个特定的实体。 Helper提供了一组方法,这些方法通常是 从我的观点来看,如果提供GUID生成功能的类存储或使用此GUID以满足进一步的需要,那么它是一个服务类,否则我会说它是一个帮助程序,因为它只是按原则工作,即do和forget/generate和forget 通常,如果您可以将方

Oop 用DDD对调度进行建模

我正在尝试为我的公司建立一个调度应用程序的模型,可以使用一些建议。如果合适的话,我想采用领域驱动的设计 该领域由一个展示对象组成,该展示对象代表一个我们可能正在推广我们产品的贸易展览、展览或会议。它有开始和结束的日期和时间、议程、发言人名单、地点等。相当多的工作可以通过展会来完成,例如分配发言人、注册与会者、取消等 我们通常作为一个或多个营销活动的一部分参加展会。活动还包括开始和结束日期以及其他信息,以及我们将参加该活动的节目列表。我们可能会在一个特定的展会上推广多个活动 可以从活动中添加或删除

Oop 如何使用类型类实现持久性、内省、标识、打印、,

在关于的讨论中,他认为这是我们今天使用的包罗万象的框架的一个很好的替代方案 他似乎对打字课最感兴趣: 我们可以使用类型类之类的结构来定义特性(比如持久性、内省、, 标识,打印)与类和 接口 我对类型类作为“类型的类型”略知一二,但我不确定它们将如何应用于前面提到的问题:持久性、打印 有什么想法吗?我最好的猜测是通过默认方法重用代码,通过将类型类实现从类型本身分离出来进行正交定义 基本上,在定义类型类时,可以为方法定义默认实现。例如,Haskell中的Eq(equality)类将/=(不相等)定义

Oop MATLAB-当涉及侦听器时,对象析构函数未运行

我有两门课,Plant和GeneratorGenerator创建一个向量,并通过notify()进行广播,后者Plant监听。下面是classdef。请注意,我没有包括实际的数据生成方法,因为它与我的问题无关 classdef Plant < handle properties Listener end methods function ListenerCallback(obj, data) #% Per

Oop 什么反/反模式涉及重复传递相同的参数?

假设我有一些代码 House = function () { /* constructor */ } House.childPlay (childId) { ... } House.childLearn (childId) { ... } House.childEat (childId) { ... } 因此,隐式地说,这个房屋对象“有”子对象,但它不一定有子对象。这就是我想知道的。不断传来传去的孩子们似乎有点可疑。House是否应该拥有一组子对象 House.Child.play

Oop 包装集合元素

这是一个设计问题,我将尽可能清晰地描述它,但我不确定我所面临的问题应该怎么称呼 我正在制作一个视频游戏,设置和玩这个游戏需要多个步骤。我想把每一步都用某种物体包裹起来,以保持一切清洁 我选择将游戏流程分为会话、回合和繁殖。游戏的会话是最高范围级别,您可以配置哪些玩家处于活动状态(通过加入屏幕),然后继续开始一轮。您可以在一个会话中播放多轮,每轮都将继承全局会话数据。同样,您可以在每轮中多次死亡和重生,从轮和会话中继承数据 想象一下什么是自由的 第1次会议 第2次会议 A轮 B轮 繁殖1 繁

Oop 我们可以用类实现同样的功能,那么为什么要用接口呢?

我知道接口不能包含方法体,我们可以在其他类中实现,并可以编写自定义逻辑。但同样的事情也可以通过对类使用继承来实现。那么为什么界面会出现在画面中呢。如果我们想覆盖任何方法定义,我们可以在类继承中执行,并可以编写自定义代码。接口的确切用途是什么?一个原因是一个类可以实现多个接口,但只能从一个类派生 另一个是,层次结构上完全不相关的类可以实现相同的接口。在没有接口的静态类型语言中,人们通常可以观察到非常深层的继承层次结构,这些继承层次结构的创建仅仅是因为它们不能简单地实现接口,并且必须强制派生不相关的

对于OOP,不变和不变是同义词吗?

对于OOP,不变和不变是同义词吗 我有一种模糊的感觉,即存在差异,但我不确定 我认为不可变通常应用于对象,而不变通常应用于属性/值 在这两种情况下,对象或变量将保持未修改且“true”,因此它们看起来非常相似 感谢您的反馈,因为我正在努力提高我对这些术语理解的准确性,我想我忽略了细微的差异 不确定这些定义是否正确,但对我来说,“不可变”意味着数据结构不会改变,而“不变”是一个不变且保持为真的设置条件(但它与特定的数据实例无关) 现在,使用不可变数据结构有助于确保不变量保持为真,因为它们不会发生变

Oop 设计模式会解决对象通信吗?

我一直在研究和寻找一个问题的答案,我怀疑通过更好地理解设计模式可以解决这个问题。我认为问题在于我是一个自学成才的程序员,人们似乎倾向于认为自己熟悉很多深奥的术语;我在维基百科的螺旋图中试图确定一些短语的含义。 也就是说,关于编码/结构问题 实际上,在我开始之前,我应该指出,在我的问题中,我很可能对代码的结构做出了未知的假设。如果是这样的话,人们能提出我建议的替代方案吗?我真的很感激学习如何更好地编写代码,而不是简单地被告知我做错了。 好的 假设我们有一个房间类,它有四面墙,一个天花板和一个地板。

Oop Switch语句不好?

我最近从Robert Martin的“干净代码”(第37-39页)中了解到,switch语句在OOP中是不好的 但是考虑一下这个场景:我正在编写一个游戏服务器,从客户端接收消息,其中包含一个指示玩家动作的整数,比如移动、攻击、选择项目……等,将有30多个不同的行动。当我编写代码来处理这些消息时,不管我想到了什么解决方案,它都必须在某个地方使用switch。如果不是switch语句,我应该使用什么模式?我想到了这个模式 策略模式旨在提供一种方法来定义一系列算法,将每一种算法封装为一个对象,并使它们

Oop 单向关联和依赖之间的区别

根据维基百科 依赖关系是一种关系,表明一个元素或一组元素的规范或实现需要其他模型元素。[1]该元素依赖于称为供应商的独立元素 那么,这和单向关联不一样吗? 当一个类中的操作使用另一个类的对象作为其参数时,我们是否使用依赖关系 单向关联和依赖有何不同。 任何示例都会非常有用关联意味着两个关联实体在语义上是链接的。依赖项只声明存在一个。。。嗯,某种依赖。所有关联都是依赖项,而依赖项实际上并不意味着关联。例如,类“A”依赖于类“B”,如果它有一个方法,该方法接受“B”,并将其作为参数传递给另一个类中的

Oop 在主干网木偶节点中实例化控制器的位置?

在我的应用程序中,每个模块都有控制器,充当中介。 什么地方更适合实例化它们: 在主控制器中,如下所示: App.MainController = Marionette.Controller.extend({ doSomething: function(){ var controller = new App.Module1.Controller(); controller.doSomething(); ... }, doSo

Oop 类的实例和对象之间的基本区别是什么?

类的实例和对象之间的基本区别是什么?我总是搞不清楚它们到底有多不同。实例是内存中的一个对象。基本上,您可以创建对象并在使用它们时实例化它们 这是一篇关于类、对象和实例的好文章,他说的是Java,但它适用于所有面向对象编程: 人和你有什么区别? “人类”是一个类(有很多人类),但“你”只是一个类(你是人类的对象)。 什么是实例?有些函数不仅适用于对象,也适用于类。示例:human::isMammal()==true,human::isarchnid()==false。您不需要类human的对象来调

Oop 在何处放置与多个类交互的方法

我有一个名为Contact的类和一个名为Account 我有一个方法叫做publicstaticaccountgetaccount(contactc){…} 这种方法最好放在哪里?我应该看什么样的设计模式 A) 接触类 B) 使用Account类 C) 使该方法在两个类中都可访问 D) 在其他地方?这取决于从联系人到帐户的查找是如何进行的,但我会投票支持将其放入一个使用存储库模式的新类中 Repository repo = ... Account account = repo.getAccou

Oop 简单程序的面向对象性、可扩展性和模块性

我们如何有效地将面向对象性、可扩展性和模块性应用于简单程序?如果是应用程序,我可以识别实体以及它们之间的关系。当涉及到简单的程序时,我无法做到这一点 请帮助我在链接中实现柏林时钟程序的面向对象性、可扩展性和模块化 提前谢谢。以下是我将如何解决这个问题 面向对象性 首先,找出与问题有关的所有实体。然后将它们解释为类。例如,在这种情况下,时钟基于不同的灯光及其相互通信来显示实际时间。 因此,我认为光是一个抽象类,也会继承来自这个抽象光类的不同的其他光,例如红光、YelloLight等,并扩展它们。

Oop 哪些设计模式可以帮助对行为动态变化的对象或具有许多可选行为的对象建模?

对于冗长的例子,我很抱歉,但是我最近遇到了这种类型的软件设计问题,并且一直在考虑它。不确定是否有一个术语,因此我将给出两个一般示例来给出一个想法: 例1:你在做一个RPG游戏,你有一个角色的职业。该角色对游戏世界的反应会根据你的穿着/持有、分配的技能、基本上你的对象的内部状态而变化 假设游戏中有以下物品: 再生环:允许你的角色随着时间的推移恢复生命值 鬼鬼祟祟的运动鞋:增加鬼鬼祟祟 魔镜:反射%的伤害 Doofy眼镜:突出工艺资源 例2:你有一辆丰田花冠。它有不同的配置,但都是丰田花冠。A

Oop 如何在命令设计模式中处理每个具体命令中的多个请求?

我想在我的一个项目中使用命令模式,我必须进行多个REST调用。我已经根据它所属的模块封装了web方法调用。与XYZDataManager类似,它包含与XYZ模块相关的所有web方法调用 话虽如此,命令模式将如何适应这里?我不想为每个web方法调用创建命令类。我想保留上面提到的封装 我想到的一个想法是在每个具体的命令类中创建一些类似于enum的RequestType。然后,我们在命令接口中有execute(RequestType)方法。每个具体命令都相应地实现execute(RequestType

OOP-将一个对象传递给其他几个对象?

我不太确定这个问题是属于这里还是stackexchange上的另一个社区,如果是后者,我找不到合适的社区,我很高兴得到一个提示 我目前正在用Java编写一个小游戏(roundbased-无线程),我想知道: 如果一个对象被其他几个对象所知,这是一种不好的做法吗 在我的例子中,我想知道是否应该创建一个对象o,然后将它作为构造函数参数传递给其他几个后来创建的对象 它确实有效,但我想知道,一般来说,这是否应该做而不是不做 有人有答案吗?当然有。这是oop世界中的正常情况。这种用法的一个简单示例是依赖项

Oop 存储库模式-结构化存储库

我试图在我的MVC程序设计中使用存储库,但我遇到了一个如何最好地构造它们的问题 例如,假设我有一个objectusers,我有一个UserRepository,它具有像getUser(intid),saveUser(Dal.User model)等功能 所以,如果在我的控制器中有EditUser,我想显示一个视图,其中包含一个用户详细信息输入表单。所以我可以这样做: User user = _userRepository.getUserDetails(userId); 好处是,我的控制器只处理

在OOP中何时使用单例?

在阅读有关singleton的文章时,我发现以下解释是使用singleton的原因: 由于这些对象方法不改变内部类状态,因此 可以将此类创建为单例 这到底意味着什么?当您认为某些方法没有改变内部类状态时?如果它是一个获得者?是否有人可以为使用不改变其内部状态的方法的类提供代码示例,从而可以作为单例使用,以及不应该作为单例使用的类 通常,当人们解释单例模式时,他们使用DB连接类作为示例。这对我来说很有意义,因为我知道在一个应用程序实例中我只希望有一个db连接。但是,如果我想在实例化DB conne

Oop 何时使用可变对象?

互联网上有大量的文章和博客文章告诉我们可变对象是不好的,我们不应该使用它们,因此我们应该让所有的对象都是不变的 我对此没有任何反对意见,只是这个话题已经走得太远了,以至于有些人可能会“上当受骗”,认为永远不应该使用可变对象 什么时候我们必须使用可变对象?不使用可变状态无法解决的常见问题有哪些?至于你的恐惧,这很常见。每一个概念都被一些人认为意味着,无论出于什么原因,其他任何事情都不应该做。 这些人试图使需求符合他们的意识形态,而不是相反(也就是说,他们不务实) 何时使用可变项?基本上,当你觉得它

Oop 使用Scheme中的变量创建环境

我想在OOP 我是这么想的: 其中,我定义了一个env,并在该环境中创建了一个值为10的变量 我还希望能够调用该环境中的值。比如说 (get-value env 'x) > 10 我最能理解的是它涉及到闭包,但我不确定从哪里开始实现这一点最简单的方法是使用alist。上述变量和获取值可定义如下: (define (variable name value env) (cons (cons name value) env)) (define (get-value name env) (con

Oop delphi如何创建和分配堆栈

我真的很挣扎,在网上找不到关于它的任何东西——或者我可能不明白网上写的是什么。我正在尝试创建一个堆栈并使用ibut,但我甚至无法创建它 我在一个过程中创建它,我希望堆栈包含整数。我已经尝试了以下步骤,我只是得到了下面的红线,它们都在过程的var部分: genericstack:TObjectStack; 以及 通用策略:TStack 而且两者都没有在设置堆栈方面起作用。我只是在下面画了一条红线。您可以在官方网站上查看示例代码: 有用的一个: 而且 一个片段也许可以作为你的答案: { Thi

Oop 对象作为lisp中自身的参数

在Python中,我希望这样做: class foo: def __init__(self): self.x = self 否则,现在对象本身就是一个参数。如何使用common lisp进行此操作 (defclass mn () ((pai :accessor mn-pai :initarg :pai :initform self))) CLOS没有“this”或“self”的概念,因为通过使用泛型函数,正在处理的任何实

如何使用Goops导出Guile方案中的类?

在我的项目中,我在不同的模块中定义了几个goops类(因此在不同的文件中)。我无法理解如何正确地从模块导出类(及其附件) 这就是我试过的。正如我在评论中所想的那样,我还尝试每次导出“slot-of-a”,但它不起作用 ;;;module-a.scm (define-module (module-a) #:use-module (oop goops) #:export (<class-a>)) ;Have I to export "slot-of-a" too? (defin

Oop 使接口易于正确使用,避免错误使用-示例

我正在阅读开发人员的最佳实践,发现一个建议是 使界面易于正确使用,避免错误使用 任何人都可以用最少的示例代码来描述以理解原理。我曾尝试在互联网上搜索,但没有找到任何例子 class Account{ void process(){} } interface IBankAccountService { boolean check(Account acc); void process(Account acc); } class ScbAccountService imp

Oop 枚举开关大小写样式动态\u转换

是否有任何设计模式使用动态\u cast的方式,如使用开关盒语句 实际上,当我像这样使用dynamic\u cast时: if (auto *type1 = dynamic_cast<Foo *>(&base)) { } else if (auto *type2 = dynamic_cast<Bar *>(&base)) { } else { throw WtfException(); } if(自动*type1=dynami

Oop 我们可以说调用任何普通方法也被称为抽象,因为它提供了它的功能并隐藏了实现吗?

在这种情况下,我们可以说a.method1();抽象是指只提供功能的抽象 而不是如何实施 这可能很傻:-)但我也很困惑,因为它也是这样。 我在互联网上和任何地方都读到,它说只有汽车/电话/等提供了功能,而不是实现(如何设计)的细节。我们能在没有接口和抽象类的情况下实现抽象吗 class A { void method1() { System.out.println("Hi Everybody...!"); } } Class B { public static voi

Oop 解释Robin C.Martin';s";清洁守则;论过程编程与面向对象编程

Robin C.Martin的“干净的代码”中有一节是关于过程编程和面向对象编程的,其中有一些我无法理解的语句。 有人愿意进一步详细解释这些陈述背后的思想过程吗 声明如下: 过程代码(使用数据结构的代码)可以轻松地添加新函数,而无需更改现有的数据结构。另一方面,OO代码可以轻松地添加新类,而无需更改现有函数 补语也是正确的: 由于所有函数都必须更改,因此过程代码很难添加新的数据结构。OO代码很难添加新函数,因为所有类都必须更改 用于证明此语句的代码示例如下所示 程序代码示例: public cl

Oop 与面向对象编程概念相关的问题解决

安静的一段时间以来,我一直在努力提高我的algo技能,因为这是一项要求,需要通过谷歌、亚马逊等公司的面试。但最近,我在亚马逊的面试中遇到了关于面向对象编程概念的问题。作为一名C语言程序员,我对oops知之甚少。任何帮助,如好书,链接,以提高这些技能将不胜感激。提前感谢。阅读开始真正理解OOP中的设计模式解决方案。我从Tim Budd的第一版《设计模式简介》开始 面向对象编程”。它与语言无关,所以我学习的是概念,而不是实现 现在,问题已经解决。一旦你掌握了OO概念,我将阅读Robert Marti

Oop 处理一组对象的最佳实践?

你有一个页面类。这个类自然拥有处理单页对象的所有方法和变量,包括create()、update()、delete()等等 从OOP体系结构的角度来看,对于该对象组处理大量操纵器的最佳实践是什么 大量操作,如:listAllPages()、getRecentPages()、getTop10Pages()、deleteAllPagesFromAuthor()等 几点要考虑: 因为我们处理的是乘法,所以将这些方法放在类中是没有意义的。。。毕竟,一个页面操纵所有其他页面是不合逻辑的 另一方面,将所有这

  1    2   3   4   5   6  ... 下一页 最后一页 共 67 页