Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
 Oop_IT技术博客_编程技术问答 - 「Fatal编程技术网」

Oop 如何跟踪对对象的引用?

在一个手动内存分配和指针仍然是规则的世界(Borland Delphi),我需要一个通用的解决方案来解决我认为是一个通用的问题: 在给定时刻,可以从多个位置(列表、其他对象等)引用对象。有没有一种好方法可以跟踪所有这些引用,以便在对象被销毁时更新它们? 我不太明白你为什么要这样做。在使用它之前,您肯定会在not Nil中检查一个引用 我想考虑的两个可能的解决方案是: 让对象管理器拥有自己的引用计数 创建引用计数管理器类 我可能会将AddRef()和ReleaseRef()函数添加到manager

Oop 我应该在什么时候启动一个方法名,该方法名获取的属性为;获取-”;前缀

对于返回对象属性/属性/成员的命名方法,有什么好的经验法则?如果对象具有某种不可变的质量“blarg”,那么返回该质量的方法应该称为“blarg()”还是“getBlarg()”?例如,Java API是不一致的:大多数属性都是通过“get”方法访问的(即使是那些没有相应的“set”方法的方法),但是我们也有类似Object.hashCode()的东西,而不是Object.getHashCode() 更新:属性是否是字段(在实现中)应该是这里的限定符吗?用一个类来表示二维空间中的不变点怎么样?无

Oop 客观上良好的面向对象设计原则 前提

我相信有一种方法可以客观地定义“好的”和“坏的”面向对象设计技术,作为一个社区,我们可以确定这些技术是什么。这是一项学术活动。如果认真果断地进行,我相信对整个社会都会有很大的好处。社区将受益于一个我们都可以指出的地方,即“这种技术是‘好’还是‘坏’,除非有特殊情况,否则我们应该或不应该使用它。” 计划 为此,我们应该关注面向对象的原则(与函数式、基于集合的或其他类型的语言相反) 我不打算接受一个答案,相反,我希望这些答案能对最终的收集有所贡献,或者成为对问题的理性辩论 我知道这可能会引起争议,但

Oop 什么是真正的面向对象(ROO)?

我最近听说了很多关于ROO的“真正的面向对象” 这是怎么回事? 它来自哪里 ThxRoo看起来更像是一种方法论,一种产生软件的东西,而不是一种新技术 它看起来像一个正在萌芽的流行语 我想说,很好地尝试了带有roo和real面向对象标记的分类学家徽章。检查这里的信息:roo是Spring Source本周发布的一个工具: 从一个简短的调查中,我了解到您可以使用一组最简单的配置动态生成Java应用程序 这是一个非常早期的alpha版本的代码。有一篇博客描述了它的功能,它位于Spring Roo不再是

Oop 为什么Haskell是代数数据类型;“关闭”吗;?

如果我错了,请纠正我,但Haskell中的代数数据类型似乎在许多情况下都很有用,在这些情况下,您将在OO语言中使用类和继承。但有一个很大的区别:一旦声明了代数数据类型,它就不能扩展到其他地方。它是“封闭的”。在OO中,您可以扩展已经定义的类。例如: data Maybe a = Nothing | Just a class Eq a where (==) :: a -> a -> Bool instance Eq Bool where False == False =

Oop 封装是抽象的子集吗?

由于封装和抽象都与信息隐藏有关,我能否将封装理解为抽象的子集?封装只是实现抽象的一种方法。 “抽象”是一个概念,它是定义或理解特定“事物”(无论是什么)的概念通过其基本属性或行为。“封装”是一种计算机科学技术,用于生成类,以将具体对象简化为抽象组件的方式处理具体对象 在计算机科学领域,其他技术(如使用图形和其他数据结构)是为各种底层“事物”提供抽象的另一种方式,尽管它们看起来可能与图形(或矩阵或其他结构)完全不同它们的一些基本特征体现在这些结构中 在其他领域中,抽象可以以非常多样化的方式实现,例

Oop 转换应用程序的面向对象设计方法

我想我可能被我学习OO原则的方式蒙蔽了双眼。它总是以有形物体的方式被教导是另一个有形物体的后代。无论如何 我正试图找到一种转换实用程序的OO方法,基本上它将读取一个文本文件,并根据行中的第一个单词进行翻译/执行相应的操作。如果每个命令都是一个新对象,或者 这可能是一个简单的答案,但我正在努力对于这样的东西,我不会太沉迷于OO设计。只有当OO原则显而易见并且有助于重用时,才应该使用OO原则。这里可能不是这样。此外,这听起来不像一个大型应用程序。人们陷入的陷阱是为了获得一点重用而让太多的类让路。这很

Oop 通过确定实现哪种方法来重新构造以不使用异常

因此,我正在开发一些使用C#4处理动态变量的东西。我处于这样一种情况,我有两个变量a和b,我知道a.Foo(b)或b.Foo(a)被定义。但是我不知道是哪一种,所以目前我使用的是这样的东西: dynamic a, b, result; ... try { result = a.Foo(b); } catch { result = b.Foo(a); } 这很可怕(不仅不美观,而且速度非常慢,因为引发异常并生成堆栈跟踪的概率约为0.5)。我可以使用反射,但我想那也会很慢 那么有

Oop 模块化游戏引擎的例子?

我发现这是一本非常有趣的书: 作者反复说:“哇,如果仔细实施,这可能会很棒。这就是未来!”。嗯,不是很有用。我需要代码,最重要的是,我需要证明这种设计确实有效 您知道实现本文中提到的一些概念的示例吗?也许你可以研究一个小型开源游戏?或者,至少是讨论类似概念的地方 通过明智地使用继承和过度使用的方法,以及深思熟虑地仔细设计隐含的基类 当然,好的设计是好的,但虚拟方法肯定不是万灵药,而且会带来巨大的性能成本,特别是在游戏机上 可重用的,以这样一种方式创建的两个实体可以彼此忽略,利用这样一个开发系统,

Oop 对象(引用类型-堆)如何与存储在堆栈上的变量通信

正如我们所知,引用类型总是存储在堆上,而值类型则存储在堆栈内存中 e、 g 在这里,如果我创建类A的对象,它将进入堆,而myInt将进入堆栈,对吗 现在,类对象(堆)如何与公共变量(堆栈)交互 谁能解释一下吗如果你说的是.NET,恐怕你的假设是错误的。值类型仅当不是引用类型实例的一部分时才存储在堆栈上。也就是说,您的myInt存储为堆上A的任何实例的一部分 如果你说的是.NET,恐怕你的假设是错误的。值类型仅当不是引用类型实例的一部分时才存储在堆栈上。也就是说,您的myInt存储为堆上A的任何实

Oop 面向对象设计问题

我将使用Java(或者其他OO语言)开发一个Tic-Tac-Toe游戏。现在我脑子里有一幅关于总体设计的图 接口: 玩家,然后我将能够根据我希望对手是什么样子来实现几个玩家类,例如,随机玩家、智能玩家等等 课程: Board类,具有二维整数数组,0表示打开,1表示我,-1表示对手。评估功能也将在这里,根据当前的董事会安排和轮到谁,返回下一个最佳举措 裁判员类,它将创建棋盘实例和两个玩家实例,然后开始游戏 这是我的OO设计的一个粗略概念。有人能给我一些评论吗?我发现这真的是有益的。非常感谢。我要说

Oop ';静态/常量';业务对象

我不太知道如何问这个问题,所以我将把它作为一个例子: 假设在一个应用程序中有一个Country对象。此对象有两个属性:名称,以及“边界国家”集合。以后可能会添加更多属性,但这类信息很少会更改(例如更改国家名称/边界) 假设此应用程序需要了解世界上所有国家/地区将这些对象的状态存储在哪里?如何更新它们?将所有这些状态存储在数据库中似乎很愚蠢,因为它不会经常更改 一种选择可能是有一个抽象的“country”基对象,并为每个国家继承一个类,其中包含每个国家的详细信息。但我觉得这不太对 处理这类对象的正

Oop 内部阶级的目的?

我读了一些帖子,注意到里面有一个班级的样本。我最近经常看到它,特别是在我浏览的MSDN上的几个例子中。我以前从未使用过内部类(但也许我真的应该这样),所以我想知道到底是什么意思?我假设一个内部类(至少是一个私有类)只对主类本身可用,那么简单地将内部类拥有的任何功能合并到外部类的某些方法中不是一样吗?内部类背后是否有OO原因 我主要在C#中思考,但我认为这可以应用于任何支持内部类的OO语言 例如:CharacterCollection和WordCollection是Document类中的公共类。如

Oop 如何分离我的Matlab对象';将代码放入不同的文件中?

我正在编写一个面向对象的Matlab程序,该程序现在已经有1000多行了。我想将脚本的一部分移动到其他.m文件以便于维护 有没有办法做到这一点 您可以创建,然后将类的每个放置在此文件夹中的单独文件中(而不是一个大文件)。您可以创建,然后将类的每个放置在此文件夹中的单独文件中(而不是一个大文件)。毫无疑问,将方法放在类文件夹或一个类文件中也是一个品味问题。关于清晰性,我选择一类文件方法 类增长如此之大,可能是重构的目标。较小的类更易于维护、记录和测试 毫无疑问,将方法放在类文件夹中还是放在一个类文

Oop 为什么我们要把接口放在使用它们的类上,而不是放在实现它们的类上?

我读了罗伯特·C·马丁的一篇文章,在一个地方,他举了一个这样的例子: 第一幅图显示两个包之间存在循环依赖关系。要删除此依赖项,将在第二个映像中添加一个新接口。B实现接口,Y使用接口。马丁提出了以下观点: 接口通常包含在使用它们的包中,而不是包含在 实现它们的包 我的问题是,为什么我们要这样安排接口?以这种方式包装接口背后的原因是什么?根据通用闭包原则,一起改变的类应该保持在一起。在变化方面,界面是否更接近其实现者或用户 除非有需要的东西,否则没有理由实现接口。YAGNI.通常我们使用接口作为服务

Oop 访客设计模式和深度优先搜索之间的差异?

深度优先搜索似乎能够执行与访问者设计模式类似的功能。访问者允许您根据需要定义一些数据结构并在这些结构上添加操作(以多个访问者的形式),而无需修改结构本身。上提供了访问者模式的说明。如果我们对数据结构执行深度优先搜索(或任何其他图形搜索算法,如广度优先搜索),并且每次找到结构的元素时,我们都会运行所需的操作,那么这似乎执行与访问者相同的功能。例如,考虑一棵树。即使树的某些节点具有不同的类型,我们仍然可以在执行DFS时检查节点类型,然后根据节点类型执行不同的操作。您可以在没有DFS的情况下实现访问者

Oop 提升赋值运算符的左侧

我已经写了一个Matlab类来处理了。几乎在所有情况下,这都可以正常工作,新类是大多数函数中其他数值类的替代品(字段“x”给出函数的值,字段d给出函数在该点的导数值) 但是,当函数预先分配输出数组并通过索引将其分配给该数组时,它会失败。例如,以下是Matlab中的常见模式: >> y=zeros(2) // Pre-allocate for speed y = 0 0 0 0 >> x = 1; >> y(1,:)=x y

Oop 在progress openedge中使用面向对象编程的利弊

我理解将面向对象编程作为一个概念的利弊。我要寻找的是专门使用oo-in-progress/openedge的优缺点。我需要考虑哪些挑战?语言中是否有部分与oo不匹配?诸如此类 编辑:使用10.2b,我会给你我的意见,但事先警告我,我可能是最讨厌进步的人也就是说,我已经在OOABL写了几个中型项目,所以我在这方面有一些经验。这是我写的一些东西,只是想让你知道我不是在胡说八道: 客户端和服务器的STOMP协议框架 一个简单的仿ORM 我所在组织的ABL编译器接口(后端和前端) 一个用于构建Exce

OOP-如果一个类创建了一个类的实例,那么该实例是否也会成为一个对象?

听起来不像koan,只是想知道关于类和对象是否有明确的规则。我曾经认为类是蓝图,而对象是从中创建的。但是,如果蓝图的组合创建了另一个蓝图,那么后一个蓝图也会成为一个对象吗?在我所知道的几乎所有OO环境中,一个实例与一个对象是相同的 对象/实例是由客户机(例如使用new)还是由类(例如使用单例或工厂)创建并不重要 如果您在类的上下文中谈论蓝图,那么从蓝图创建蓝图是继承,而不是实例化。您的问题似乎有点哲学性……:)“对象”和“实例”在OOP中是相当同义的 如果我正确理解了您的问题,您的疑问是:“如果

Oop 依赖注入容器看起来不太正确

我有一个非常小的应用程序,我用它来学习设计模式 目前我正在尝试实现Dependency注入容器,但它感觉就像一个工厂 有人能解释一下这个容器有什么问题,在哪里可以改进吗 正如我所说,它非常简单,应用程序只需要几个对象: class MyContainer { public function getObjectA() { return new MyObjectA(); } public function getObjectB() {

Oop 这是正常的实体框架行为吗

我有两个一对多的关系在下面的类之间 public class SiteMember { public int SiteMemberID { get; set; } public virtual List<FriendshipInvitation> InvitationsSent { get; set; } public virtual List<FriendshipInvitation> InvitationsReceive

Oop 即使在composer和start/global.php中进行了更新,在Laravel 4中也找不到类

在Laravel4中使用自定义类时遇到问题 在新目录app/library中有NewClass.php 下面是课堂: 次要细节,您的php.ini是否配置了enable short标记,因为我看到您正在使用您是否运行了composer update?就是这样,crynobone-我自己永远不会发现它。改成 Symfony \ Component \ Debug \ Exception \ FatalErrorException Class 'NewClass' not found

Oop Symfony 2-联系方式和验证

我在Symfony 2上的联系方式有问题 简单形式 <form id="contact-form" method="post" action=""> <label for="name">Name: </label> <input type="text" name="name" id="name" class="input" /> <label for="subject">Subject: </label&g

Oop F#对象构造函数

在经历了很长一段时间的F#之后,最近我学了一点C#,我开始意识到“对象构造函数”是一种很好的方法,可以欺骗自己,让自己相信他们正在处理一个函数对象 考虑: let x = new Something() x.Key <- 1 x.Value <- 2 这看起来更好,实际上感觉就像我在使用一张唱片(几乎),很明显这只是糖,但它是很好的糖 假设我们无法控制“某物”(假装它来自某个C库),那么在F中是否可以使用这种速记初始化,如果不可以,原因是什么?是的,你可以这样做。它看起来像这样:

Oop 如何在类图中对此进行建模?

假设我有一个接口接口和一个具体类具体类,它实现了接口。现在考虑一个第三类 MyClass 。如果MyClass的实例包含对ConcreteClass的引用: Interface ref = new ConcreteClass(); 那么我应该将MyClass与UML类图中的Interface或ConcreteClass相关联吗 谢谢,这取决于MyClass的公共接口定义 如果公共接口使接口可用,那么您应该链接到图表上的接口。这将是通常的方法,因为接口是通用类型并指定了合同。除非你有理由限制在C

Oop 如何将一个类的itcl对象传递给另一个类的对象,并使用传递的对象的函数?

在namespace::NodeTypes中,我有一个类NodeType1和另一个类NodeType2的另一个对象 我还有一个类NetworkCollector和另一个类NodeType2的另一个对象 我需要将NodeType1和NodeType2的对象作为NetworkCollector对象中的参数传递,并在NetworkCollector类中使用传递的对象的函数 您能否建议一些可能的解决方案,如何将一个对象的引用传递给另一个类中的另一个方法以下示例代码无效: itcl::class ::No

Oop 一个班级能有一个“a”吗;Has-a“;与字符串的关系?

我看到的所有关于Is-a和Has-a关系的讨论都涉及用户定义类型的示例 在下面的代码中,可以说Flommer有一个字符串吗 class Flommer extends Flimmer { String s = "hey"; } 对。字符串和您提到的其他用户定义类型都继承自对象类。所以从某种意义上说,它们是相似的。在面向对象的上下文中,两种关系类型,聚合(HAS-a)和组合(OWNS-a)是相似的,但有细微的不同 聚合是指包含的对象可以在容器对象之外独立存在。 现实生活中的ex:汽车和发

Oop Fortran:当从父类中分配子类时,调用父类的泛型过程而不是子类

我用一个例子来解释我的问题 我有一个类型(location2d\t),它包括两个成员x和y,以及一个类型绑定过程(calcdist2d)。除了(this)和类(location2d\t)之外,该过程还接受自己的类型(作为第二个伪参数)来计算距离。 现在,我进一步将类型扩展到(location3d\t),它也有z 要重新定义该过程,我无法覆盖上一个过程,因此我使用类型为(location3d\t)的第二个参数创建了一个新过程(calcdist3d),并为它们创建一个通用过程(CalcList)。换

Oop Haskell中的面向对象多态性

因此,我看到了一些问题,它们会问您如何在Haskell中进行面向对象编程,例如。对此,答案大致是“类型类类似于接口,但不完全相同”。特别是类型类不允许构建所有这些类型的列表。例如,我们不能做地图显示[1,1.4,“hello”],尽管它有一个逻辑结果 经过一段时间,我想知道是否有可能做得更好。因此,我尝试为一个简单的Shape类编写多态性代码,可以在下面找到(如果您喜欢sanity,现在最好停止阅读,并为它太长而道歉) 尽管有这么多的疯狂,但最终还是有了一些非常好的属性:我可以有一个形状列表,我

Oop d3如何为迭代选择数组?

我将介绍这个基于力的布局示例 布局定义为 force = d3.layout.force() .size([width, height]) .nodes(dataNodes) .links(dataLinks); 在代码的后面,作者通过这个调用遍历链接数组 force.linkStrength(function(link) { if (link.className === 'red') return 0.1; return 1; }); 作者如何知

Oop 继承树:无向图应该是有向图的子类吗?

我正在实现一个简单的图形库进行实践。 我创建了一个基类图,并从中派生了DirectedGraph。 我想知道是应该从DirectedGraph派生UnDirectedGraph类,还是应该从Graph类本身派生它。无向图是一种有向图,其中从u到v的边表示从v到u的边。请让我知道什么是实现图形层次结构的最佳方法 此外,Graph类还有一个GraphVertex列表。GraphVertex类应该保存来自该顶点的边的数据,还是graph类应该保存所有边的所有数据。是的,理想情况下,您应该以一种在实际应

Oop 猜测数字,没有这样的属性,python 3

我正在用python学习OOP,并试图用OOP风格运行这个小游戏,但由于某些原因,系统找不到对象的属性 问题是: 回溯(最近一次呼叫最后一次): 文件“HelloUsername.py”,第47行,在 newGameGTN=猜测编号() 文件“HelloUsername.py”,第6行,在_init中__ self.start_game() 文件“HelloUsername.py”,第32行,在start_游戏中 player=player\u choice() 名称错误:未定义名称“玩家选择”

Oop 在哪里创建接口实现?

我想问一个简单的OO设计问题 假设我们使用一个接口(IHoo)反转了两个具体类(Foo和Hoo)之间的依赖关系,其中Hoo实现接口,Foo使用该实现 在那一点上,我想知道我应该在哪里将该实现(Hoo)附加到它的客户机(Foo)上。显然,如果我们在客户机类Foo中添加Hoo,那么我们并没有反转编译时依赖关系(相对于运行时依赖关系),我们只制作了稍微模块化的代码,但并没有降低刚性 所以,我们可能会将客户机和接口实现关联到主(或更高级别)类中,比如控制器之类的?你的方法是什么 Thx.看看a的概念。这

Oop 被方法修改的成员在退出后恢复

我有一个窗口(Windows),我的wndProc与Windows指南上的窗口基本相同。然而,即使WM_CLOSE被传递(我可以使用if(msg==WM_CLOSE)),我似乎无法设置我的shouldClose标志。我已经确认,我仍然在processMessage方法中获取事件。所以我的问题是:发生了什么,我如何才能让它工作 编辑:我试着将窗口数据存储为一个结构而不是一个类,并且一切正常。我所改变的只是课程类型和一些错误 class Win32Window { this(wstring

Oop tcl OO在引用对象时不引用对象

当我运行我的(专有)代码时,我得到: info object isa class DlgClass is:1 DlgClass does not refer to an object while executing "::oo::Obj6::my Set DlgClass" ("uplevel" body line 1) invoked from within "uplevel 1 [list [namespace which my] Set $args]" (c

Oop Delphi-从其他表单设置时,FormCreate上的表单属性为空

这是一个有趣的案例 使用登录表单,其中设置了一些变量值,如company_id和SelectedlanguageCode,其目的是将这些值传递给MainForm属性以加快速度(选择的语言代码进入数据库进行查询),FormCreate事件中将立即需要这些值,但此处缺少这些值,但是在CreateForm事件之后进行调试时,只显示值 以下是项目源代码: {$R *.res} Var LoginOK: Boolean = False; sCompanyId: integer; sSelec

仅重写私有方法时的OOP方法名称

当您只重写私有方法时,有人能告诉我OOP方法的名称吗?我想多读一些,但我不知道该找什么,因为我忘记了方法的名称 这种方法是在公共方法的基类中只有一个入口点,然后调用虚拟私有方法,这些方法被子类覆盖 (或者,赫伯·萨特(Herb Sutter)称之为非虚拟接口习惯用法)它被称为OOP。虽然,比如说,在Java中,你不能这样做,相反,你会把它们抽象化。@DaveNewton,噢。我确信这个东西有它自己的名字,它不同于OOP。它有点像一种风格或设计解决方案。据我所知,大部分是用在C++中。多谢各位。

Oop 在不了解彼此的情况下在实体之间进行UML序列调用

假设我们有一只老虎站在田野上猎食猎物。当老虎开始狩猎时,他问田野上现在站着什么。之后,老虎开始一个接一个地吃掉它们。如果它吃了一只鬣狗,那么它会咬它,反过来老虎就会放走鬣狗。如果老虎同时猎杀两条以上的鬣狗,它就会被它们咬死。如果老虎吃了羚羊,羚羊就死了 我创建了一个序列,但据我所知,它违反了OOP原则。我应该改变什么来实现这些原则?如果没有老虎,土狼对进食方法的反应如何让土狼知道这一点 事实上:不是由老虎告诉鬣狗咬它,也不是由鬣狗决定让老虎放它走。老虎甚至不应该知道鬣狗的内部结构() 您需要将这

C++ OOP求解派生类

将类employee定义为具有数据成员employee id、Name和age的基类 作为受保护类型和getdata函数,用于设置这些数据成员的值。做两个推导 员工级别作为经理,数据为会员高尔夫俱乐部会费、工资和科学家 数据成员出版物的编号。添加成员函数以获取每个类中的相应数据。 获取并显示每个薪资超过50000的经理的全部信息,以及 发表超过50篇论文的科学家。 提示:为两个派生类创建两个对象并显示结果

Oop 严格遵守单一责任原则是否违反封装?

看起来,如果我严格遵守单一责任原则,那么我可能不得不添加公共getter,以拆分可能发生变化的功能。在我看来,这似乎违反了封装,因为它暴露了对象的内部结构 例如,假设我有一个表示上传文件的类。在过去,为了避免getter和维护封装,我使用了类似于toHtml()的方法: public class UploadedFile() { private String filename; private String uri; public String toHtml() { retu

Oop 函数式编程中难以实现的问题

哪些使用OOP容易解决的问题使用FP很难实现或无效?对象层次结构在FP中往往很尴尬。相反,您只需使用代数数据类型,这要简单得多。尝试使用纯FP高效地乘以两个矩阵。但是,当然,OOP对于这项任务也几乎毫无用处。SK-logic,@DonStewart,它根本不是一个纯粹的函数代码。请参阅所有不安全*东西的定义。面向对象编程和函数式编程是正交概念。函数式编程的“正常”补充是命令式编程。FP中的对象层次结构与OOP中的单子一样有用:)

Oop 在使用构造函数依赖项注入时为依赖项提供回退/默认值?

在使用依赖项注入时,这是否很糟糕: public function __construct($service = null) { if(null === $service){ $service = MyNewDefaultService() } $this->service = $service; } i、 e.为服务提供默认回退类类型的概念此模式将起作用(事实上,(反)模式有一个-),但与此方法相关的问题有: 通过在使用者类中构造一个新的MyNe

Oop 类方法:在私有方法中传递私有数据字段

我想知道以下哪种模式被认为更“正确” 第一个示例通过调用隐式接受参数的void成员函数来设置私有数据成员长度的值。 第二个示例通过将length的值指定给显式接受参数的成员函数的返回值来设置length的值 第二种方法似乎使代码更清晰,因为您知道私有成员何时以及如何设置, 其中第一个需要代码跟踪来验证赋值的内容和方式。第二种方法 看起来它还可以更好地重用,因为它可以在任何类/上下文中运行(因为 参数和返回类型是显式的) 第一种方法更快,如果在整个类中使用(对于私有成员函数),可以节省一些编码,但

Oop 合同与立面之间的差异

4个月以来我一直在做拉威尔。我没有发现外观和合同之间有明显的区别,因为它们都是一组接口。为什么我要使用Facade而不是contracts,或者使用contracts而不是Facade?是否使用Facade或Contract的问题归结为您希望如何解析类以及是否要使用接口 正面 门面是一个类,而不是一个接口(是一个示例门面) facade仅用于从服务容器加载类,更方便 要加载的类是facade类的getFacadeAccessor()方法中的Deteration 例如: // Without

Oop 讨论:此解决方案将使用哪些设计模式?

我想设计具有以下解决方案的软件: 产品有特点。 每种产品都有功能规则: 产品必须具有特征a、b和d。 _产品必须具有至少x个特征f、g和m列表 _产品的每个特征都有一个权重。 在运行时,我希望使用外部输入文件/用户输入创建产品,并使用规则向产品添加功能。 我想问每一种产品,考虑到它的特点,它的分数是多少,缺少了什么。 让我举例说明最后一点: 假设产品A具有关于必须具有特征A和b的规则,必须具有至少两个c、d、e和f,并且还可以具有但不必具有特征g、h、i和j。 我还分配了下列权重a,b,每个都等

Oop 将返回类型定义为方法的打包编号

我正在学习ABAP对象。我想要一个返回压缩数类型的对象方法。我终于做到了,但我不知道这是不是正确的方法,我需要一些我在网上找不到的进一步解释 对于integer,它可以正常工作: METHODS: getamount RETURNING VALUE(r) TYPE i, 对于包装编号,它不: METHODS: getamount RETURNING VALUE(r) TYPE p, 错误:必须完全指定返回参数的类型 错误:必须完全指定返回参数的类型 1有没有办法让它与p类型一起工作 我使用d

RDMS违反OOP吗

我想用现有的数据库设计OOP 标题、详细信息、链接表、检索的存储过程 并从多个表格中进行计算和汇总等, 我不知道如何将所有的混乱转换为OOP 关系数据库RDB和面向对象编程OOP是不同的范例,每种范例和技术都反映了不同的目的。RDB旨在高效地将数据存储在表中并快速提取数据和关系,而OOP旨在反映现实世界中看到的对象的组成和抽象。由于两者的目的不同,因此两者之间存在逻辑上的差距,但在从RDB转换为OOP以及从RDB转换为OOP方面已经做了大量工作 这种技术被称为。ORM中使用了一组标准的模式和技术

Oop 系统Verilog中的类类型,不能作为子类构造和扩展

我已经用Virtual关键字创建了系统Verilog类。 将虚拟关键字作为前缀添加到类abc后,它将成为抽象类,无法使用new()构造函数为其创建对象。若这样做,用户将获得编译错误 虚拟课堂; ........ 末级 但同时,没有其他类可以从abc类扩展为子类。i、 e.abc类不能扩展为子类 SV是否支持不能使用new()构造函数(如抽象类)创建且不能扩展到子类的任何此类类类型。 如果system verilog支持任何此类类类型,那么在什么情况下定义此类将很有帮助 任何输入都会有很大帮助。我

上一页 1 2 ...  4   5   6   7    8   9   10  ... 下一页 最后一页 共 125 页