oop相关内容

多态性或条件会促进更好的设计吗?

我最近偶然发现了 这篇文章在 google testing blog 中关于编写更多可测试代码的指南.在此之前我一直与作者达成一致: 支持多态而不是条件:如果你看到一个 switch 语句,你应该考虑多态.如果您在课堂上的许多地方看到相同的 if 条件重复,您应该再次考虑多态性.多态性会将你的复杂类分解成几个更小的更简单的类,它们清楚地定义了哪些代码片段是相关的并一起执行.这有助于测试,因为 ..
发布时间:2022-01-24 16:03:24 C/C++开发

为什么这个多态 C# 代码会打印它的功能?

我最近收到了以下代码作为一种谜题,以帮助理解 OOP - C# 中的多态性和继承. //不编译!公开课A{公共虚拟字符串 GetName(){返回“A";}}公开课 B:A{公共覆盖字符串 GetName(){返回“B";}}公共课 C:B{公共新字符串 GetName(){返回“C";}}无效的主要(){一个实例 = 新 C();Console.WriteLine(instance.GetNa ..
发布时间:2022-01-24 16:00:55 C#/.NET

VBA 是 OOP 语言吗?它是否支持多态性?

我实际上正在做我的第一个 VBA 项目.(来自C++) 我想通过实现类和多态性来改进 Microsoft Excel 工作簿使用的现有 VBA 项目. 我的问题是: 1 - 我阅读了很多文章/论坛,其中解释了 VBA 不是面向对象编程 (OOP) 语言并且不支持多态. 他们中的一些人提出了一种使用关键字Implements的解决方法. 2 - 我还发现了一些网页,例如 ..
发布时间:2022-01-24 15:57:26 其他开发

Java中的重载和多分派

我有一个集合(或列表或数组列表),我想在其中放置字符串值和双精度值.我决定让它成为一个对象的集合并使用重载和多态性,但是我做错了. 我运行了一个小测试: 公共类 OOP {无效prova(对象o){System.out.println("对象");}无效证明(整数 i){System.out.println("整数");}无效证明(字符串 s){System.out.println("字符 ..
发布时间:2022-01-24 15:56:42 Java开发

多态性 - 仅用两句话定义

我查看了其他定义和解释,但没有一个令我满意.我想看看是否有人可以在不使用任何代码或示例的情况下最多用两句话定义多态性.我不想听到“所以你有一个人/汽车/开罐器......"或者这个词是如何派生的(没有人对你知道 poly 和 morph 的含义印象深刻).如果您非常了解什么是多态性并且对英语有很好的掌握,那么您应该能够用简短但密集的定义来回答这个问题.如果您的定义准确地定义了多态性,但过于密集以至 ..
发布时间:2022-01-24 15:56:19 其他开发

没有继承就可以实现多态性吗?

在一次采访中,有人问我是否可以在没有继承的情况下实现多态性.这可能吗? 解决方案 我读过的关于这个主题的最好解释是 Luca Cardelli,著名类型理论家.文章名为论理解类型、数据抽象和多态性. 多态的类型 Cardelli 在本文中定义了几种类型的多态性: 通用 参数 包含 临时 重载 强制 与继承相关的多态性分为包含多态性或亚型多态性. ..
发布时间:2022-01-24 15:54:58 Java开发

尽可能简单地描述多态性

如何用通俗易懂的方式描述多态性? 我们可以在 Internet 和书籍上找到很多关于该主题的信息,例如在 Type多态性.但让我们尽量让它变得简单. 解决方案 这是我的 回答类似的问题.下面是伪 C#/Java 中的多态性示例: 类动物{抽象字符串 MakeNoise();}类猫:动物{字符串 MakeNoise () {返回“喵";}}类狗:动物{字符串 MakeNoise () ..
发布时间:2022-01-24 15:48:57 其他开发

多态性 vs 覆盖 vs 重载

在Java方面,当有人问: 什么是多态性? 重载或覆盖是可接受的答案吗? 我认为还有更多. 如果你有一个抽象基类,它定义了一个没有实现的方法,而你在子类中定义了那个方法,那仍然是覆盖吗? 我认为重载肯定不是正确的答案. 解决方案 表达多态性最清晰的方式是通过抽象基类(或接口) 公共抽象类 Human{...公共抽象无效goPee();} 这个类是抽象的,因 ..
发布时间:2022-01-24 15:45:52 Java开发

CoffeeScript 中的动态类生成

在 CoffeeScript 中动态创建类以便稍后实例化它们的对象的最佳方法是什么? 我已经找到了实现它的方法,但我不确定是否有更好(或更简单)的方法来实现它.请让我知道您对我的代码的看法. 让我们从简单的非动态类开始: 类动物构造函数:(@name)->说话:->警报“#{@name} 说 #{@sound}"类猫扩展动物构造函数:(@name)->@sound = “喵!"加菲猫 ..
发布时间:2022-01-24 11:11:01 前端开发

CoffeeScript 中的私人成员?

有人知道如何在 CoffeeScript 中创建私有的非静态成员吗​​?目前我正在这样做,它只是使用一个以下划线开头的公共变量来澄清它不应该在类之外使用: class Thing 扩展 EventEmitter构造函数:(@_name)->获取名称:->@_名称 将变量放入类中使其成为静态成员,但如何使其成为非静态成员?有没有可能不被“看中"? 解决方案 有没有可能不被“看中"? ..
发布时间:2022-01-24 10:24:29 其他开发

为什么 PHP 不允许私有 const?

我有一个类受益于在其内部实现中使用常量,但我想限制这些常量的可见性.为什么 PHP 不允许私有常量?是否有其他方法可以实现这一点,或者 PHP 是否试图阻止我不知道的某种设计失误? 解决方案 使用 private static 属性. 在这种情况下,您将在所有对象中拥有相同的变量,如果您想将其范围扩展到嵌套,您可以公开一个 getter 方法来获取其值并限制变量设置. ..
发布时间:2022-01-23 23:31:29 PHP

在类的函数中使用“const"

我在类中看到了很多将 const 关键字放在函数后面的用法,所以我想知道它是关于什么的.我在这里读到了: http://duramecho.com/ComputerInformation/WhyHowCppConst.html . 它说使用 const 是因为函数“可以尝试更改对象中的任何成员变量".如果这是真的,那么它应该在任何地方使用,因为我不希望以任何方式更改或更改任何成员变量. c ..
发布时间:2022-01-23 23:25:12 C/C++开发

Julia:为库设置 OOP 模型的最佳方法是什么

我正在尝试创建一个库.假设我有一个模型,其中有一个输出、输入和描述函数的方程.输入将是: x= [1,2,3,4,5,6]y = [5,2,4,8,9,2] 我把它放到一个函数中: #=返回 y 值=#函数拟合 (x,a,b)y=ax+b结尾 另一个使用 describe 函数输出摘要: #=描述方程拟合=#function describe(#insert some model wit ..
发布时间:2022-01-23 19:28:46 其他开发

朱莉娅:OOP 与否

我正在和 Julia 一起开发 Juno. 我不知道 Julia 是否支持 OOP. 例如,有没有类似c++的class或struct之类的东西? 如何用数据或函数等成员声明? 解决方案 如有疑问,请阅读文档... https://docs.julialang.org/en/v1/manual/types/#Composite-Types-1 长话短说: s ..
发布时间:2022-01-23 19:23:11 其他开发

如何创建一个“单一调度、面向对象的类"?在 julia 中,它的行为类似于具有公共/私有字段和方法的标准 Java 类

我在一本书中读到“你不能在 julia 中使用像 obj.myfunc() 这样的单一调度风格的方法创建传统的‘类’"......我认为这听起来与其说是事实,不如说是挑战. 所以这是我的 JavaClass 类型,它带有公共/私有字段和方法,只是为了在 Julia 中出现这样丑陋的东西时的震惊和恐怖因素,毕竟开发人员已经避免了所有麻烦它: type JavaClass# 公共字段名称::字 ..
发布时间:2022-01-23 19:00:58 其他开发

MVP 和多个用户控件

我正在尝试使用 MVP 模式,但遇到了设计问题.我正在开发一个包含多个 UserControl 的应用程序.UserControls 本身彼此无关,仅代表实际模型的一个子集.根据我的阅读,人们倾向于说每个视图应该使用一个演示者.这似乎是有道理的,但如果我有 30 个用户控件,我真的想要 30 个演示者吗?另一方面,如果我有 1 个 Presenter 和 1 个 View 代表整个“应用程序"视图 ..
发布时间:2022-01-22 19:03:12 C#/.NET

如何在 java 中找到迷宫的其他解决方案?

我需要编写一个程序,在给定的 txt 文件中获取迷宫并将解决方案路径打印到控制台.我编写了这个程序,如下所示,但我只能找到 1 个解决方案.如果迷宫中有超过 1 个解决方案,我需要找到所有这些.我不知道我应该采取什么方法.请给个思路好吗? 这是我的工作: maze.txt(作为参数发送) 111111111111111111011001100011111111001110111001 ..
发布时间:2022-01-22 12:41:59 Java开发

在 Python 中自省构造函数 __init__ 的参数

什么是从 __init__ 中提取参数而不创建新实例的方法.代码示例: 类超:def __init__(self, name):self.name = 名称 我正在寻找类似 Super.__dict__.keys() 类型的解决方案.只是为了检索名称参数信息而不添加任何值.有这样的选择吗? 解决方案 Python 3.3+ 更新(如 beeb 在评论中) 您可以使用 在 Pyth ..
发布时间:2022-01-21 22:21:01 Python

未捕获的错误“找不到类"在 Laravel 5.8 中

我正在尝试从另一个文件夹调用我的模型文件.这两种文件结构我都提供了. 我收到此错误: 未捕获的错误:在/Applications/XAMPP/xamppfiles/htdocs/pro/app/Scr​​ipts/Providers/1/Scrape.php:17 中找不到类“App\Models\Providers" 我正在从位于的脚本文件夹中调用模型文件: app/Scr​ ..
发布时间:2022-01-21 20:02:26 PHP