inheritance 相关问题

继承是面向对象编程中的系统,它允许对象支持由前类型定义的操作,而无需提供自己的定义。它是面向对象编程中多态性的主要向量。

再次谈Django模板继承

我所遇到的困难在 Django 从子数据访问模板中的父数据 但那里给出的答案被OP接受,是本着“食谱”的精神给出的,

回答 1 投票 0

UML 图多重性表示法

我对我的 UML 图有疑问。我制作了一个由“User”父类和两个继承自“User”的子类组成的系统。现在我的问题是如何显示多重性

回答 1 投票 0

一个类定义了与其继承的类同名同类型的成员,为什么不会报错?

我目前正在大学学习编程,我正在闲逛并编写了这段代码,我很好奇 班级学生{ 民众: 字符串名称; 字符串地址; }; 班主任:公共

回答 1 投票 0

继承Cheetah模板内的函数看不到全局变量

我有一些使用继承构建的 Cheetah 模板。 基页.tmpl: 从 quixote.publish 导入 get_session() #设置全局$session = get_session() #块内容 我有一些使用继承构建的 Cheetah 模板。 basepage.tmpl: from quixote.publish import get_session() #set global $session = get_session() #block content <!DOCTYPE html> <html lang="$session.lang"> <head> ... meta tags, stylesheets, etc ... </head> #block body <body></body> #end block body </html> #end block 实际页面.tmpl: #extends basepage #def some_content ... content ... $session.some_variable ... content ... #end def #def body <body> ... body ... $some_content ... more body ... </body> #end def Quixote 是我的 Web 框架,但它可以是任何 Python 库。 当我在代码中调用模板anactualpage时,它会生成所需的输出。 如果我只想返回模板的一部分,anactualpage.some_content()——例如响应 AJAX 请求,我想只返回整个页面的一部分——我会在已编译的模板代码中得到 NameMapper.NotFound,其中变量查找功能 VFFSL 正在搜索列表 session.some_variable 中查找 SL。 我可以通过在子模板内添加额外的 import 和 set 来解决该错误 - 特别是在 some_content 函数内 - 但为什么这是必要的? 这是 Cheetah 中的一个错误吗?我想不会,而且我在某种程度上滥用它。 有没有其他方法可以使(全局)变量在搜索列表中始终可用? 这不是一个错误,这就是 Cheetah 的工作原理。奔跑吧 cheetah compile basepage.tmpl 并查看内部basepage.py。全局变量session的初始化方式如下: def respond(self, trans=None): … self._CHEETAH__globalSetVars["session"] = … 内部方法respond。当您调用整个模板anactualpage.tmpl时,该方法将被调用并初始化变量。当您直接调用 anactualpage.some_content() 时,不会调用方法 respond 并且变量不会初始化。你需要找到一种方法来重新初始化它actualpage.tmpl。

回答 1 投票 0

如何检查 Python 的类层次结构?

假设我有一个X类,我如何检查哪个是基类,以及它们的基类等? 我将 Eclipse 与 PyDev 一起使用,对于 Java 例如,您可以在课堂上键入 CTRL + T...

回答 5 投票 0

C# 11 - 通过抽象类在接口中静态抽象成员?

C# 11 在接口中引入了静态抽象成员。 但根据我的实验,它只会强制直接子级实现这些静态抽象成员。静态抽象修饰符可以...

回答 1 投票 0

从父对象创建子对象实例的最佳方法

我正在从父对象创建子对象。所以场景是我有一个对象和一个子对象,它为我想要搜索的场景添加了距离属性。我选择使用

回答 8 投票 0

Jackson 在字段缺失时使用基于演绎的反序列化

我正在使用 Jackson 来反序列化这个类 导入 com.fasterxml.jackson.annotation.JsonSubTypes; 导入 com.fasterxml.jackson.annotation.JsonTypeInfo; @JsonTypeInfo(use = JsonTypeInfo.Id.DEDUCT...

回答 1 投票 0

移动构造是否未指定专门类的属性?

考虑继承自 Animal 的 Dog 类: 动物类 { … }; 狗类:公共动物{ 民众: 狗(狗&&其他) :动物(std::移动(其他)), 品种(std::move(other.breed))...

回答 1 投票 0

在我的包中使用@override方法?问题和解决方法?

在python中,我正在开发一个包含以下两个类的包: 我有一个父类: 班级家长: def my_method(自我): 返回1 我有一个子类可以覆盖这个

回答 1 投票 0

Swift 超类属性/方法访问:self 与 super

在 swift 中,似乎可以通过 self 和 super 访问超类的属性或方法,而不会出现任何编译问题。 我确实知道当您需要覆盖超类的属性或满足...

回答 1 投票 0

.NET Maui - 中性属性绑定的选项

在 .NET Maui 中,我有这个 XAML: <Setter Property="TextColor" Value="Green"/>...</desc> <question vote="0"> <p>在 .NET Maui 中,我有这个 XAML:</p> <pre><code> &lt;Style x:Key=&#34;GreenLabelStyle&#34; TargetType=&#34;Label&#34;&gt; &lt;Setter Property=&#34;TextColor&#34; Value=&#34;Green&#34;/&gt; &lt;/Style&gt; &lt;Label Style=&#34;{StaticResource GreenLabelStyle}&#34; Text=&#34;Some text&#34; TextColor=&#34;{Binding SometimesOverrideColor}&#34; /&gt; &lt;CheckBox IsChecked=&#34;{Binding OverrideColorStyle}&#34;/&gt; </code></pre> <p>Label 的 TextColor 绑定到此属性:</p> <pre><code> public Color SometimesOverrideColor { get { return OverrideColorStyle ? Colors.Pink : Colors.Green; // works, but not DRY } } </code></pre> <p>即使我有一个指定的(绑定)<pre><code>TextColor</code></pre>,我希望该选项说“忽略此属性设置并表现得好像标签上没有明确的 TextColor”。我尝试将 <pre><code>null</code></pre> 换成 <pre><code>SometimesOverrideColor</code></pre>,但这没有用。我想使用标签样式的值(即绿色)。</p> <p>显然,我可以在 <pre><code>Colors.Green</code></pre> 中返回 <pre><code>SometimesOverrideColor</code></pre>,但这会重复样式中指定的值。如果我改变了样式,我必须记住更新属性。</p> <p>我的想法就像 CSS 中的 <pre><code>inherit</code></pre> 关键字。如果我能回来<pre><code>Color.Inherit</code></pre>那就太好了!</p> </question> <answer tick="false" vote="0"> <p>根据我对你问题的理解,我会为此做一些事情</p> <pre><code> &lt;Style TargetType=&#34;Label&#34;&gt; &lt;Setter Property=&#34;TextColor&#34; Value=&#34;Black&#34; /&gt; &lt;Setter Property=&#34;FontFamily&#34; Value=&#34;OpenSansRegular&#34; /&gt; &lt;Setter Property=&#34;FontSize&#34; Value=&#34;14&#34; /&gt; &lt;/Style&gt; &lt;Style x:Key=&#34;SometimesOverrideColor&#34; TargetType=&#34;Label&#34;&gt; &lt;Setter Property=&#34;TextColor&#34; Value=&#34;Pink&#34; /&gt; &lt;/Style&gt; &lt;Style x:Key=&#34;GreenLabelStyle&#34; TargetType=&#34;Label&#34;&gt; &lt;Setter Property=&#34;TextColor&#34; Value=&#34;Green&#34; /&gt; &lt;/Style&gt; </code></pre> <p>然后编写一个简短的转换器,有条件地应用此:</p> <pre><code> //Name this sensibly public abstract class WhateverColorConveter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value is not bool condition) { return null; // in case someone uses the converter but is a smartass } return Application.Current.Resources.GetResource&lt;Style&gt;(condition ? &#34;SometimesOverrideColor&#34; : &#34;GreenLabelStyle&#34;); } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } </code></pre> <p>然后这将与您的 XAML 代码样式一起使用,不要忘记将其作为静态资源添加到您的资源中:</p> <pre><code> &lt;ContentPage.Resources&gt; &lt;converters:WhateverColorConveter x:Key=&#34;WhateverColorConverter&#34; /&gt; &lt;/ContentPage.Resources&gt; </code></pre> <p>然后使用这个:</p> <pre><code>&lt;Label Style={Binding Condition, Converter={StaticResource WhateverColorConverter}}/&gt; </code></pre> </answer> </body></html>

回答 0 投票 0

错误:静态断言失败:模板参数必须是完整的类或无界数组

我派生自一个基类,我尝试在其中定义一个类型。该类型通过变体依赖于自身,因此需要在定义时了解基类的内存布局。豪...

回答 1 投票 0

将变量传递给具有多重继承的构造函数

我在通过我的类(ID 和 Name)传递两条数据时遇到问题。我知道如果不经过前面的步骤就无法调用基类构造函数...

回答 1 投票 0

带有继承的 Perl 模板

Perl 世界中存在任何具有模板继承的模板系统吗? 刚刚检查了维基百科 Comparison_of_web_template_engines (确实不完整的列表) - 这里没有列出任何内容。

回答 5 投票 0

Python 在父类静态/类方法中获取子类

输出: 狗类(): def get_class(): 返回__类__ 类猫(): def get_class(): 返回__类__ 打印(Dog.get_class()) 打印(Cat.get_class()) 是: 输出: class Dog(): def get_class(): return __class__ class Cat(): def get_class(): return __class__ print(Dog.get_class()) print(Cat.get_class()) 是: <class '__main__.Dog'> <class '__main__.Cat'> 我想用一个子类来干燥我的代码。但输出: class BaseClass(): def get_class(): return __class__ class Dog(BaseClass): pass class Cat(BaseClass): pass print(Dog.get_class()) print(Cat.get_class()) 是 <class '__main__.BaseClass'> <class '__main__.BaseClass'> 如何更改第二种情况中的代码以获得与第一种情况相同的输出? 你就快到了: class BaseClass: @classmethod def get_class(cls): return cls class Dog(BaseClass): pass class Cat(BaseClass): pass print(Dog.get_class()) print(Cat.get_class()) <class '__main__.Dog'> <class '__main__.Cat'> 这里有一些不同的问题。 我们正在实现的逻辑就是“获取类”。如果您想专门从类开始执行此操作,那么无需执行任何操作,也没有理由在 BaseClass 或 Dog 或 Cat 内实现任何内容来获得该结果 - 因为您 已经有了. class BaseClass: pass class Dog(BaseClass): pass class Cat(BaseClass): pass print(Dog) print(Cat) __class__是一个特殊的局部变量,用于实现super()。它命名了定义方法的类,无论该方法是如何查找的,或者即使它被用作普通函数: >>> class x: ... def example(self): ... print(__class__) ... >>> class y(x): pass ... >>> x().example() <class '__main__.x'> >>> y().example() <class '__main__.x'> >>> x.example(42) <class '__main__.x'> 通常,不希望接收类实例的方法应该用 @classmethod 或 @staticmethod 装饰。这样,代码仍然可以与类或实例一起使用。 规则是: @classmethod - 使用类调用,第一个参数是该类本身;用实例调用,第一个参数是实例的类。参数应该在开始时包含一个以接收该参数。按照惯例,我们将该参数称为 cls。@staticmethod - 使用类或实例调用,不为调用添加任何参数。参数应该只列出将显式传递的内容。无装饰器 - 用类调用,不添加参数;使用实例调用时,会添加该实例。 这应该仅用于实例,因此应该有一个参数来接收实例参数。按照惯例,我们将该参数称为 self。尝试在没有装饰器或self的类中使用函数违反了标准期望。它尝试将类视为简单的名称空间。这不是他们的目的,即使认为它有点有效。 假设我们希望代码可以使用一个类(返回该类)或一个实例(返回该实例的类),则代码很简单:一个 @classmethod 修饰的方法已经接收了一个参数,该参数是在任何情况下,这正是我们想要的,因此我们只需返回即可。因此: class BaseClass: @classmethod def get_class(cls): return cls class Dog(BaseClass): pass class Cat(BaseClass): pass print(Dog.get_class()) print(Dog().get_class()) print(Cat.get_class()) print(Cat().get_class())

回答 2 投票 0

如何继承或覆盖 WinUI 3 控件的默认样式的元素?

我正在尝试学习如何在 WinUI 3(来自 WindowsAppSDK 1.1.1)中最有效地使用样式,但我很难让简单的继承发挥作用。 考虑 NavigationViewItem 类。我……

回答 2 投票 0

使用令牌生成链接

在 Angular 6 中,我想从 URL 检索 JWT 令牌,将其转换为 Base 64 并将其推送到其他一些链接。 我这样做了: 应用程序路由.module.ts: { 路径:'admin/:token',redirectTo:'广告...

回答 1 投票 0

有没有办法在Java泛型中模仿OR

编辑:我对示例进行了一些更改以获取想法: 喜欢 ...无需创建通用接口并为 Integer 和 Float 创建子类来实现...

回答 4 投票 0

Unity On Click() 按钮界面不显示功能

我对 Unity 相当陌生,但我遇到了 Button 函数继承的问题。我有一个 UI 对象,其中包含 game_controller 脚本和三个按钮作为子对象。当我尝试添加

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.