properties相关内容

干净的代码:对象应该有公共属性吗?

我正在阅读“清洁代码"一书,并且正在为一个概念而苦苦挣扎.在讨论对象和数据结构时,它声明如下: 对象将其数据隐藏在抽象之后,并公开对这些数据进行操作的函数. 数据结构公开了它们的数据并且没有任何有意义的功能. 所以,我从中得到的是我的对象上不应该有任何公共属性,我应该只有对属性执行操作的方法.如果我确实需要访问属性,它们应该在一个数据结构上,它可以从我对象的方法返回?使用这种方法,我 ..
发布时间:2021-11-26 17:23:05 C#/.NET

如何在python抽象类中创建抽象属性

在下面的代码中,我创建了一个基础抽象类Base.我希望从 Base 继承的所有类都提供 name 属性,因此我将此属性设为 @abstractmethod. 然后我创建了一个 Base 的子类,称为 Base_1,它旨在提供一些功能,但仍然是抽象的.Base_1 中没有 name 属性,但是 python 会在没有错误的情况下设置该类的对象.如何创建抽象属性? from abc impor ..
发布时间:2021-11-26 16:52:21 Python

使用@abstractproperty 和@abstractmethod 实现/覆盖的实际差异

考虑一个带有函数的抽象基类,您希望每个后续子类都覆盖该函数.使用 abc 模块和 ABCMeta;使用 @abstractproperty 或 @abstractmethod 进行装饰是否会强制子类/开发人员实现创建由装饰器指定的函数类型?根据我的实验,您可以使用方法覆盖抽象属性,并使用子类中的属性覆盖抽象方法. 这个概念不正确吗? 解决方案 这个概念是正确的;ABCMeta 代码不 ..
发布时间:2021-11-26 16:34:34 Python

抽象属性是否会创建私有支持字段?

简单的问题:抽象属性是否会创建私有支持字段?示例: public abstract Name { get;放;} 这会创建一个私人支持字段吗?我想强制任何派生此属性的类使用它们自己的支持字段,而不是由编译器创建的字段. 解决方案 不,它没有.我刚刚用以下课程进行了测试: 公共抽象类 Class1{公共抽象字符串 TestStringAbstract { 获取;放;}公共字符串 Tes ..
发布时间:2021-11-26 16:34:07 C#/.NET

将 setter 添加到覆盖中的属性

为什么在实现接口时允许更改属性中 getter 或 setter 的可见性和存在性? 接口 IFoo{字符串栏 { 得到;}}类 RealFoo : IFoo{公共 RealFoo(字符串栏){this.Bar = bar;}公共字符串栏 { 获取;私人订制;}}类 StubFoo : IFoo{公共字符串栏 { 获取;放;}} ...在实现抽象类时这样做不合法吗? 抽象类 Abstract ..
发布时间:2021-11-26 16:32:25 C#/.NET

从抽象基类的重写属性抛出的堆栈溢出异常

我有一个带有以下(为简洁起见进行了修剪)声明的基类: 公共抽象类 MyBaseClass{公共 int RecordId { 获取;私人订制;}公共字符串对象名称 { 获取;放;}公共抽象字符串状态 { 获取;放;}公共 GetMyObject(int id){MyObject myObject = context.GetObjectById(id);this.RecordId = myObje ..
发布时间:2021-11-26 16:25:45 C#/.NET

将抽象只读属性覆盖为读/写属性

我只想强制在基本抽象类的给定属性上实现 C# getter.如果需要,派生类还可以为该属性提供一个 setter,以供静态绑定类型的公共使用. 给定以下抽象类: 公共抽象类Base{公共抽象int属性{获取;}} 如果我想要一个也实现了 setter 的派生类,我可以天真地尝试: public class Derived : Base{公共覆盖 int 属性{得到{返回字段;}设置 { ..
发布时间:2021-11-26 16:14:51 C#/.NET

不确定何时使用抽象属性,何时不使用

我不确定什么看起来更好,或者我什么时候真正在抽象类和属性中使用,或者什么时候使用非抽象属性.我会尝试做一个简单的例子.假设我有这个: 抽象类人类{公共性别类型 性别 { 获取;放;}公共字符串名称 { 获取;放;}公共日期出生{得到;放;}public bool IsNerd { get;放;}抽象 public void Speak();抽象 public void Sleep();抽象 pu ..
发布时间:2021-11-26 16:13:19 C#/.NET

属性 getter/setter 的方法命名是否在 IL 中标准化?

我有以下两种方法,我想知道它们是否合适: public bool IsGetter(MethodInfo method){返回方法.IsSpecialName&&method.Name.StartsWith("get_", StringComparison.Ordinal);}public bool IsSetter(MethodInfo 方法){返回方法.IsSpecialName&&meth ..
发布时间:2021-11-26 11:25:48 C#/.NET

如何在 C# 中在运行时向类添加属性?

我有一堂课: class MyClass{}...MyClass c = new MyClass(); 是否可以在运行时向此类添加属性/字段? (我不知道它们在编译时的类型或名称是什么,而且它们没有我可以使用的通用接口.) 伪示例: 添加名为“Prop1"的属性;[类型 System.Int32]添加名为“Prop900"的属性[类型 System.String] 我已经阅读 ..
发布时间:2021-11-26 10:41:32 C#/.NET

如何在 java.util.Properties 中引用另一个属性?

Java 属性文件可以引用其他属性文件吗? ## 定义输入文件的默认目录dir.default=/home/data/in/dir.proj1=${dir.default}p1dir.proj2=${dir.default}p2dir.proj3=${dir.default}p3 这可能吗? 解决方案 Chris Mair 的 XProperties 类可能是一个很好的起点. 您 ..
发布时间:2021-11-25 20:46:01 Java Web开发

在 Java 中读取属性文件

我有以下代码试图读取属性文件: Properties prop = new Properties();ClassLoader 加载器 = Thread.currentThread().getContextClassLoader();InputStream stream = loader.getResourceAsStream("myProp.properties");道具加载(流); 我在最后 ..
发布时间:2021-11-25 19:50:35 Java Web开发

读取 JAR 文件外的属性文件

我有一个 JAR 文件,我的所有代码都在其中存档以供运行.我必须访问需要在每次运行前更改/编辑的属性文件.我想将属性文件保存在 JAR 文件所在的同一目录中.无论如何要告诉Java从该目录中获取属性文件? 注意:我不想将属性文件保留在主目录中或在命令行参数中传递属性文件的路径. 解决方案 因此,您希望将与 main/runnable jar 位于同一文件夹中的 .properties ..
发布时间:2021-11-25 17:38:25 Java Web开发

Java 系统属性和环境变量

系统属性有什么区别 System.getProperties() 和环境变量 System.getenv() 在 JVM 中? 解决方案 我认为两者之间的区别归结为访问.环境变量可以被任何进程访问,Java 系统属性只能被添加到的进程访问. 正如 Bohemian 所说,环境变量是在操作系统中设置的(但是它们“可以"通过 Java 设置)并且系统属性作为命令行选项传递或通过 setP ..
发布时间:2021-11-25 14:34:13 Java Web开发

如何使用 Java 属性文件?

我有一个配置值的键/值对列表,我想将其存储为 Java 属性文件,以便稍后加载和迭代. 问题: 我是否需要将文件与加载它们的类存储在同一个包中,或者是否有任何特定的位置应该放置它? 文件是否需要以任何特定的扩展名结尾或者 .txt 是否可以? 如何在代码中加载文件 我该如何遍历里面的值? 解决方案 您可以将 InputStream 传递给属性,因此您的文件几乎可以在任何地 ..
发布时间:2021-11-25 13:18:34 Java Web开发

Python抽象属性

我在这个特定模块中只有一个抽象类,所以我试图避免导入“ABC"包.请参阅下面的我的尝试和我遇到的问题.我只想在子类的 __init__ 方法中使用基本的 self.attribute = {etc...} 赋值,但我想确保它是通过 AbstractClass 完成的.我在这里看到了一些问题,但答案都参考了“ABC"包,我同意这是最好的解决方案,但不仅仅是整个程序中的一个类...... from ..
发布时间:2021-11-25 09:56:34 C#

将 set 访问器添加到类中的属性,该类派生自仅具有 get 访问器的抽象类

我有一个抽象类,AbsClass,它实现了一个接口,IClass.IClass 有几个只有 Get 访问器的属性.AbsClass 将 IClass 的属性实现为抽象属性,这些属性将在从 AbsClass 派生的类中定义. 因此,所有从 AbsClass 派生的类也需要通过具有与 Get 访问器相同的属性来满足 IClass.但是,在某些情况下,我希望能够将 set 访问器添加到 IClas ..
发布时间:2021-11-25 09:48:16 C#

如何在python抽象类中创建抽象属性

在下面的代码中,我创建了一个基础抽象类Base.我希望从 Base 继承的所有类都提供 name 属性,因此我将此属性设为 @abstractmethod. 然后我创建了一个 Base 的子类,称为 Base_1,它旨在提供一些功能,但仍然是抽象的.Base_1 中没有 name 属性,但是 python 会在没有错误的情况下设置该类的对象.如何创建抽象属性? from abc impor ..
发布时间:2021-11-25 09:25:50 C#

使用@abstractproperty 和@abstractmethod 实现/覆盖的实际差异

考虑一个带有函数的抽象基类,您希望每个后续子类都覆盖该函数.使用 abc 模块和 ABCMeta;使用 @abstractproperty 或 @abstractmethod 进行装饰是否实际上强制子类/开发人员实现创建由装饰器指定的函数类型?根据我的实验,您可以使用方法覆盖抽象属性,并使用子类中的属性覆盖抽象方法. 这个概念不正确吗? 解决方案 这个概念是正确的;ABCMeta 代 ..
发布时间:2021-11-25 09:04:45 C#

抽象属性是否会创建私有支持字段?

简单的问题:抽象属性是否会创建私有支持字段?示例: public abstract Name { get;放;} 这会创建一个私人支持字段吗?我想强制任何派生此属性的类使用它们自己的支持字段,而不是由编译器创建的字段. 解决方案 不,它没有.我刚刚用以下课程进行了测试: 公共抽象类 Class1{公共抽象字符串 TestStringAbstract { 获取;放;}公共字符串 Tes ..
发布时间:2021-11-25 09:04:27 C#