所有问题: [oop]

2,405 个问题

类似标签:
7
投票
4答案
4733 次观看

有没有一种方法可以为VBA中的类重载构造函数/初始化过程?

在C#中,我知道可以通过在类的主体中指定它来重载类的构造函数: public class MyClass() { public MyClass(String s) { ... } } 这将覆盖默认构造函数(不带参数),并强制使用参数s初始化类。 我知道在VBA中可以使用Private Sub Class_Initialize()初始化我的类,但是我不知道是否有一种方法可以强制使用参数初始化我的类。能做到吗?

4
投票
4答案
3798 次观看

单元测试创建对象的方法

我正在努力弄清单元测试,我还需要找到另外一块拼图。 我想做的是为以下代码编写测试。在这种情况下,我有一个非常简单的Front Controller(用PHP编写)。 class frontController { public function routeRequest($oRequest) { $sClassname = $oRequest->getController(); $sMethod = $oRequest->getAction(); $oController = new $sClassname(); ...

3
投票
5答案
325 次观看

“被动”对象是否被视为一种良好的设计习惯?

我发现自己经常创建一个没有公共方法且独立的对象。通常,它以私有方法处理传递给其构造函数的参数事件,并且不会引发任何事件或公开任何公共方法。 我称这类对象为“被动”对象-未定义任何公共方法的对象。所有交互都在私有方法内部发生,并且在构造函数中传递自变量事件。 通常,它是一些实用程序类,例如可以确保将两种形式粘贴在一起的实用程序类: public class StickyForm : IDisposable { private readonly Form form; private readonly Form parentForm; public Stick...

3
投票
8答案
3209 次观看

在C ++中使用回调会增加耦合吗?

Q1。为什么使用回调函数? Q2。回调是邪恶的吗?那些人的乐趣 谁知道,对别人来说就是一场噩梦。 Q3。除了回调还有其他选择吗?

1
投票
8答案
754 次观看

C ++中的模板类...必备的技能吗?

我是C ++的新手,我想知道我应该花多少时间来学习如何实现模板类。它们是在工业中广泛使用的,还是我应该快速解决的问题?

10
投票
2答案
6100 次观看

使Django模型中的瞬时(非数据库)属性可用于模板

我的一个模型具有未存储在数据库中的属性。在视图和模型级别上一切都很好,但是我似乎无法在模板中显示这些“非数据库”属性。 这是一些示例代码,它是一个反映实际问题域的人工示例,以演示不良行为。 视图: def odometer(request): cars = Car.objects.all() for car in cars: car.read_meters() context = {'cars': cars} return render_to_response('odometer.html', context) 模型: c...

1
投票
3答案
502 次观看

在设计ORM时,在性能方面代表关系的最佳方法是什么?

在设计ORM时,从性能角度来看,代表关系的最佳方法是什么?我的意思是,在以下两种方法中,哪种方法最适合考虑性能? class Employee { int ID { get; set; } String Name { get; set; } int DepartmentID { get; set; } //This approach uses DepartmentID } ---或--- class Employee { int ID { get; set; } String Name { get; set; } ...

0
投票
3答案
2534 次观看

Java中结合装饰器和状态模式的问题-有关OO设计的问题

我正在解决一个我认为最适合装饰器和状态模式的问题。较高的设置类似于三明治机和分配器,我可以在其中设置一定数量的食材和几种不同类型的三明治。每个成分都有与之相关的成本。客户将是某人,他们将使用机器选择配料制作特定的三明治,然后机器将其分配。 到目前为止,我已经使用装饰器模式创建了成分和不同类型的三明治: public abstract class Sandwich { String description = "Unknown Sandwich"; public String getDescription(){ return description;...

6
投票
5答案
8410 次观看

带有类的JSON?

是否存在标准化的方法来将类存储为JSON,然后再将其从字符串转换回类?例如,我可能有一个类型为Questions的对象数组。我想将此序列化为JSON并将其发送到(例如)JavaScript页面,该页面会将JSON字符串转换回对象。但是它应该能够使用我已经拥有的构造函数将Questions转换为Question类型的对象: function Question(id, title, description){ } 是否有标准化的方法来做到这一点?我对如何实现有一些想法,但是重新发明了轮子等等。 编辑: 要弄清类的含义:几种语言可以使用类(JAVA,PHP,C#),它们通常会通...

5
投票
7答案
6601 次观看

如何比较两个具有相似属性的截然不同的对象

这一切都使用.NET 2.0在C#中完成。 我有两个对象列表。它们不是相关的对象,但是它们确实具有某些特定的东西 可以比较的共同点,例如基于Guid的唯一标识。这两个清单需要 被另一个仅包含Guid的列表过滤,该Guid可能与之匹配 该ID包含在前两个列表中。 我考虑过将每个对象列表转换为“对象”并按以下方式排序的想法 那,但是我不确定ID属性投放后是否可以访问,并且 认为对两个列表进行排序的方法应该有点愚蠢,因为他们知道 要排序的列表是。 引入每个对象列表的最佳方法是什么,以便仅使用ID对列表进行排序?

2
投票
3答案
1374 次观看

具有模型视图演示者设计模式的安全性和角色授权

最适合安全和角色授权以适合模型视图演示者设计模式的位置在哪里? 是否所有实现安全性的页面都必须实现特定接口,例如IAuthorizedView public interface IAuthorizedView : IView { IUser user; void AuthorizationInitialized(); void AuthorizationInvoked(); } 然后在演示者级别内部处理 public abstract class Presenter<TView> where TView : IView { p...

1
投票
2答案
737 次观看

面向对象的设计:保存复杂的对象

我在遗留系统之上构建了一个复杂的域模型,该遗留系统为大多数“获取”方法构建了遗留系统-通常仅通过传递数据库主键ID即可。很简单。我现在很好奇如何处理在数据库中创建新对象并用新数据保存现有对象的任务,并希望确保覆盖所有基础。 与整个项目中大约20-25的数据库中的实体相对应的主要域对象。大约需要保存10个左右(其余的仅用于支持数据,不需要用户进行更新)。要保存的对象具有复杂的依存关系-对象A具有对象B的列表,其中包含对象C,D和E,例如,当原始对象A被保存时,可能需要保存所有对象。 我想对其进行构建,以便UI开发人员可以轻松使用它,但还强制要求仅保存有效数据(假设对象B除非对象C处于有...

0
投票
4答案
760 次观看

javascript中的中级课程,以寻找一本书来学习面向对象的编程

我是一名JavaScript中级程序员,并且对扩展我在面向对象编程(尤其是面向对象的JavaScript)方面的知识很感兴趣。 与浏览分散的网络资源相比,我更喜欢一本书,有没有人知道哪本书最适合入门? 谢谢

2
投票
3答案
517 次观看

在第3方程序集周围创建包装器-换出并解耦

我有一个要集成到应用程序中的电子邮件组件,正在寻找有关如何围绕它构建包装器的一些技巧,以便在需要时可以与另一个第三方组件交换出来。 我现在的方法是: 构建一个界面将满足我所需的功能。 使用该类中的第3方组件创建一个实现接口的类。 此组件的任何用法都将通过界面进行,例如: IPop3 pop3 =新的AcmeIncePop3Wrapper(); pop3.connect(); 在AcmeIncePop3Wrapper中将是: public void connect() { AcmeIncePop3 pop = new AcmeInceP...

19
投票
2答案
5860 次观看

访问此实例的外部类

我们如何访问此实例的外部类:例如, Class A { Class B { this.helloB(); (A's this).hello() } } 我们如何在Java中访问A的此实例

0
投票
2答案
123 次观看

对象被传递给Function,但未被接收...为什么?

这些代码段没有任何错误,它们每次都是空的。我想知道我是否可能错误地创建了它们。一如既往的帮助,深表感谢; Dim l As New Log() l.Log = "Attempted staff login with username [" & txtUsername.Text & "]" l.LogId = 0 l.StaffId = 4 l.LogDate = Date.Now() l.Insert() .Insert()是通过这两个函数在我的BLL层中拾取的; Public Function Insert() As Integer ...

0
投票
3答案
240 次观看

Ruby:OOP和二维数组问题

我需要创建一个二维数组Class。我已经完成了一项工作,但是发现我的类只具有一个内部的二维数组,并且要访问元素,我必须写一个冗余的单词“ table”: class Table attr_accessor :table def initialize(w,h) @table = Array.new(h) h.times do @table << Array.new(w) end end x = Table.new(10,10) x.table[5][6] = 'example' ,依此类推。我的想法是我只想一次写x[5][6]来访问元素...

0
投票
1答案
76 次观看

优雅的模拟只读对象的设计

我目前正在为嵌入式系统开发GUI。 (我正在使用GUI描述与界面相对的我的应用程序,以避免与程序意义混淆) 上下文 我创建了一个模拟嵌入式系统的类。我通过我设计的Connection类进行所有通信,该类可以通过TCP / Serial或两个Connection对象之间的虚拟连接进行通信。 所有这些工作都很好,并且可以预期,我的模拟对象和GUI通过虚拟连接进行通信。 我有一个Diagnostic数据包,它是从device发送的(实际的或模拟的)数据包,并由GUI读取。这很适合我称为ControllerDiagnostic的类。 问题 我的问题与ControllerDi...

1
投票
4答案
188 次观看

如何管理一组派生但不相关的类

似乎我越是谈论这个问题,我就越了解它。我认为我之前的问题没有传达我正在尝试正确地做的事情。我为此表示歉意。 在我的设计中,我有本质上是聚合类的GameObjects,GameObject中的所有功能都是通过向其添加各种“功能”来实现的。特征是具有自己的成员和功能的Feature类的子类。所有功能都可以接收消息 class Feature { public: virtual void takeMessage(Message& message) = 0; }; class VisualFeature : public Feature ...

-1
投票
4答案
1227 次观看

PHP中的数据库和OOP实践

很难解释这种情况,但请参见示例。 我已经为加载页面的网站编写了代码,并初始化了数据库类。我将此类作为函数参数发送给需要访问数据库的所有函数。 我知道这是一种不好的方法,但是目前我不知道如何以其他方式进行此操作。你能帮我吗? 示例 class sms { function log_sms($message, $db) { $sql = "INSERT INTO `smslog` SET `mesasge` = '$message' "; $db->query($sql); ...

0
投票
5答案
279 次观看

寻找设计模式

我有80-90个类,它们都是一种计算类型。但是每个类使用一种方法 计算每个班级中的哪个相同。每个类别中不同的项目是 是内部方法中使用的实例变量。 我正在寻找模式的原因是因为我在做的事情看起来非常重复。下面是一个计算示例,但最多可以进行200个计算。 Protected Overrides Sub Compute(ByVal cache As Cache.ClientCache(Of System.Guid), _ ByRef objIsTickBoxATicked As IClientAnswer(Of System...

0
投票
2答案
169 次观看

实例给出对象引用错误

我已经编写了新的DAL和BLL,但是当我尝试创建类的实例时,出现对象引用错误,我应该寻找什么特别的东西吗?我对这个概念还很陌生吗? 呼叫是这样的: Protected Sub btnSignin_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles btnSignin.Click Dim l As New Log() l.Log = "Attempted staff login with username [" & txtUsername.Tex...

0
投票
2答案
561 次观看

无法从Javascript回调获取返回值

大家好-我在从我的一个Javascript回调函数正确获取返回值时遇到一些困难,它看起来取决于竞争条件,但我不确定: JSOBJ.container = function() { return { getName: function() { var value; companyfn.app.getInfo(callback); function callback(foo) { // alert("gets here"); if (foo.hadError()) { alert("Error found!"); } ...

18
投票
9答案
3935 次观看

.NET Stream类的设计不好吗?

我花了很多时间来熟悉.NET Stream类。通常,我会通过学习专业的商业级框架的类设计来学到很多东西,但是我不得不说,这里没有什么味道。 System.IO.Stream是代表字节序列的抽象类。它有10个抽象方法/属性:Read, Write, Flush, Length, SetLength, Seek, Position, CanRead, CanWrite, CanSeek。这么多抽象成员使派生繁琐,因为您必须重写所有这些方法,即使大多数最终只会抛出NotImplemented。 Stream类的用户应该调用CanRead、CanWrite或CanSeek来了解Strea...

1
投票
3答案
496 次观看

最佳实践/信息:编写PHP4 ORM

由于多种原因(基本上,所有这些都可以归结为糟糕的管理决策),我们无法切换到PHP5,这意味着我们可能必须再支持PHP4几年了。 由于我们的许多应用程序(与许多Web应用程序一样)都是美化的CRUD应用程序,并且由于我喜欢偶尔捡起家庭项目来浪费一些时间,因此我目前正在编写类似ORM的小型程序用作大多数基本查询(插入,更新,替换,删除等)的类。由于它必须支持PHP4,因此PDO成为不可能,所以我必须回退到特定于语言的位置函数,例如mysql_query。由于我们使用的是几个不同的系统,所以在各种版本(Interbase版本4及更高版本,Firebird,MySQL)中,我的ORM / Wr...

4
投票
2答案
2827 次观看

向执行者提交FutureTasks-为什么有效?

我有以下测试代码。 import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.FutureTask; class MyTask extends FutureTask<String>{ @Override protected void done() { System.out.println("Done"); } public MyTask(Runnable ...

1
投票
4答案
255 次观看

我在这里使用全局状态吗,有没有更好的方法呢?

我正在修改一些旧代码。我有一个具有方法的对象,可以说doSomething()。当特定断言失败时,此方法将引发异常。但是由于新的要求,在某些情况下可以不引发异常并继续执行该方法。 现在,我不是从需要忽略异常的地方直接调用此方法。这种doSomething()就像是一种审核方法,可以从许多其他方法内部调用,比如method1(),method2()等。 在需要忽略异常的地方,我正在调用method1(),但现在我不希望method1()引发异常。因此,我将method1()修改为采用默认参数method1(ignoreException = false)并称为method1(true...

0
投票
3答案
457 次观看

面向对象的模块/网络设备/拓扑的定义?

对于类/架构,是否有任何模块/定义可用于表示网络设备的拓扑,连接,访问详细信息等?目的是将其用于自动化,并且将路由器/服务器作为对象而不是作为笨拙的tcl键控列表/阵列进行管理。

2
投票
3答案
1440 次观看

T-SQL是否有任何库可以将其变成面向对象的?

Microsoft Ajax库已向JavaScript添加了完整的面向对象。T-SQL是否有等效的库,框架,组件,程序包等?在MS SQL Server中编写面向对象的SQL脚本非常好。 干杯, afsharm

19
投票
17答案
8404 次观看

对于C / C ++,什么时候不使用面向对象的编程有什么好处?

当我用C / C ++进行编码时,我发现自己总是试图将所有东西都适合OOP方法论。但是我意识到,我不必总是将所有内容强加于此。与不使用OOP方法相比,有哪些利弊?我对不使用OOP的优点/缺点更感兴趣(例如,不使用OOP有优化的好处吗?)。谢谢,让我知道。