首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当我有许多具有相同属性的类,但它们在加载和刷新等方法上不同时,正确的方法是什么?

当有许多具有相同属性的类,但在加载和刷新等方法上不同时,可以使用继承和多态的概念来解决这个问题。

继承是面向对象编程中的一种机制,通过创建一个基类(父类),然后派生出多个子类,子类可以继承基类的属性和方法。在这种情况下,可以创建一个基类,将相同属性的类作为子类继承基类,并在子类中实现各自不同的加载和刷新方法。

多态是指同一种操作或方法可以有不同的实现方式,通过多态可以实现在不同的子类对象上调用相同的方法,但得到不同的结果。在这种情况下,可以定义一个抽象的加载和刷新方法在基类中,然后在每个子类中根据具体需求实现自己的加载和刷新方法。

使用继承和多态的方法可以提高代码的重用性和可维护性,同时可以根据具体需求灵活地调用不同类的加载和刷新方法。

以下是一个示例代码:

代码语言:python
代码运行次数:0
复制
class BaseClass:
    def load(self):
        # 具体的加载逻辑
        pass
    
    def refresh(self):
        # 具体的刷新逻辑
        pass

class SubClass1(BaseClass):
    def load(self):
        # 子类1的加载逻辑
        pass
    
    def refresh(self):
        # 子类1的刷新逻辑
        pass

class SubClass2(BaseClass):
    def load(self):
        # 子类2的加载逻辑
        pass
    
    def refresh(self):
        # 子类2的刷新逻辑
        pass

# 创建对象并调用方法
obj1 = SubClass1()
obj1.load()
obj1.refresh()

obj2 = SubClass2()
obj2.load()
obj2.refresh()

在上述示例中,BaseClass是基类,SubClass1和SubClass2是继承自BaseClass的子类。每个子类都实现了自己的加载和刷新方法,通过创建对象并调用方法,可以根据具体的子类对象调用相应的方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SqlAlchemy 2.0 中文文档(三)

提示 注意的一件重要事情是,我们刚刚处理的对象上的属性已经过期,意味着,当我们下一次访问它们的任何属性时,Session 将启动一个新的事务并重新加载它们的状态。...提示 值得注意的一点是,我们刚刚使用的对象上的属性已经过期,意味着当我们下次访问它们的任何属性时,Session将启动一个新的事务并重新加载它们的状态。...在类级别上,User和Address类用作定义相应数据库表应该是什么样子的地方。这些类还充当我们用于在事务内创建和操作行的可扩展数据对象。...提示 需要注意的重要事项是,我们刚刚处理过的对象上的属性已经过期,意味着,当我们下次访问它们的任何属性时,Session将启动一个新事务并重新加载它们的状态。...,不会执行冗余的工作;由于 u1.addresses 集合被刷新,根据身份映射,这些实际上是我们已经处理过的a1和a2对象中的相同的Address实例,因此我们已经完成了加载这个特定对象图中的所有属性:

41520

SqlAlchemy 2.0 中文文档(二十二)

由于这些对象都是工厂,因此它们可以被任意数量的函数和线程同时使用。...当 ORM 映射对象加载到内存中时,有三种常见方法可以使用当前事务中的新数据刷新其内容: expire() 方法 - Session.expire() 方法将擦除对象的选定或全部属性的内容,以便在下次访问时从数据库加载它们...在调用 Session.close() 方法后不再立即开始新的事务。 到此为止,许多用户已经对会话有了问题。...当 ORM 映射对象加载到内存中时,有三种常规方法可以使用当前事务中的新数据刷新其内容: expire() 方法 - Session.expire() 方法将擦除对象的选定或全部属性的内容,以便在下次访问它们时从数据库加载...当将 ORM 映射对象加载到内存中时,有三种常见方法可以使用当前事务的新数据刷新其内容: expire() 方法 - Session.expire() 方法将擦除对象的选定或所有属性的内容,以便在下次访问时从数据库加载它们

28110
  • Js面试题__附答案

    18、说明如何检测客户端机器上的操作系统? 为了检测客户端机器上的操作系统,应使用navigator.appVersion字符串(属性)。 19、Javascript中的NULL是什么意思?...Void(0)用于调用另一种方法而不刷新页面。 23、如何强制页面加载JavaScript中的其他页面? 必须插入以下代码才能达到预期效果: ? 24、escape字符是用来做什么的?...33、JavaScript中不同类型的错误有几种? 有三种类型的错误: Load time errors:该错误发生于加载网页时,例如出现语法错误等状况,称为加载时间错误,并且会动态生成错误。...web-garden和web-farm都是网络托管系统。唯一的区别是web-garden是在单个服务器中包含许多处理器的设置,而web-farm是使用多个服务器的较大设置。 48、如何分配对象属性?...这减少了网页加载时间,并且它们的显示速度更快。 53、JavaScript中的各种功能组件是什么?

    8.9K30

    前端开发面试题总结之——JAVASCRIPT.One

    (1)创建一个空对象,并且 this 变量引用该对象,同时还继承了该函数的原型。 (2)属性和方法被加入到 this 引用的对象中。...此方法无法检查该对象的原型链中是否具有该属性;该属性必须是对象本身的一个成员。...所谓异步,在这里简单地解释就是:向服务器发送请求的时候,我们不必等待结果,而是可以同时做其他的事情,等到有了结果它自己会根据设定进行后续操作,与此同时,页面是不会发生整页刷新的,提高了用户体验。...等请求完,页面不刷新,新内容也会出现,用户看到新内容。 如何解决跨域问题?...jQuery是一个js库,主要提供的功能是选择器,属性修改和事件绑定等等。 jQuery UI则是在jQuery的基础上,利用jQuery的扩展性,设计的插件。

    15410

    前端面试题

    box-sizing:border-box 当我们设置box-sizing:border-box;时,浏览器对盒模型的解释与IE6之前的版本相同,当它定义width和height时,border和padding...所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。闭包可以用在许多地方。它的最大用处有两个,一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。...()方法因为它被弃用了同时也会带来很多问题 事件注册到document上 使用.delegate()方法会给你带来很多好处当你需要解决一些性能上的问题和对动态添加的元素作出处理 新的.on()方法其实就是模拟...在Jquery 1.7版本中.bind(), .live()和.delegate()方法只需要使用.on()方法一种方式来调用它们。...而$router是“路由实例”对象包括了路由的跳转方法,钩子函数等。 4.vue.js的两个核心是什么?

    1.7K10

    SqlAlchemy 2.0 中文文档(五十四)

    如何在给定映射类的情况下获取所有列、关系、映射属性等的列表?...映射的类需要为每个要存储独立值的属性明确指定名称;当两列具有相同的名称并且没有消歧时,它们就属于同一属性,其效果是将一列的值复制到另一列,根据哪一列首先分配给属性。...映射类需要为每个要存储独立值的属性指定明确的名称;当两个列具有相同的名称并且没有消歧义时,它们就会落入同一个属性下,效果是从一个列中的值被复制到另一个列中,取决于哪个列首先分配给属性。...然而,有一种情况是,如果 SQLAlchemy 的新缓存系统已被禁用(出于以下原因),则 ORM 的性能实际上可能明显低于 1.3 或其他之前的版本,这是由于 ORM 惰性加载器和对象刷新查询中缺乏缓存...但是,有一种情况,即如果禁用了 SQLAlchemy 的新缓存系统(由于以下原因),则 ORM 的性能实际上可能显着低于 1.3 或其他先前版本,原因是在 1.3 和以前的版本中,ORM 惰性加载器和对象刷新查询中没有缓存

    36010

    2020最全Java面试题--基础篇

    你可以在Windows平台编写Java代码,同时在Windows上编译它。在Windows上编写的类和jar文件能够运行在Unix环境下。所以Java是真正的平台无关的语言。...这一种取决于 CLASSPATH,负责加载用户路径(classpath)上的类库。如果你指定了CLASSPATH种jars,那么类加载器就会加载它们。...不,main只是方法的名称。 一个类文件中可以有多个具有相同名称main的方法。 它不是Java中的关键字。 9....不,Java不允许在同一构造函数中同时使用super()和this()。 根据Java规范,super()或this()必须是构造函数中的第一条语句。 11. Java中的对象克隆是什么意思?...Object.clone()方法用于在Java中创建对象的完全拷贝。 它的行为就像复制一个构造函数。 它创建并返回对象的副本,该对象具有相同的类,并且所有字段的值与原始对象的值相同。

    58331

    SqlAlchemy 2.0 中文文档(二十四)

    提示 虽然 Session.refresh() 方法能够刷新列和关系导向属性,但其主要焦点是在单个实例上刷新本地列导向属性。...对于更开放式的“刷新”功能,包括在具有显式控制关系加载器策略的同时刷新多个对象的属性的能力,请改用 populate existing 功能。...这是为了当合并操作填充本地属性并级联到相关对象和集合时,值可以按原样“盖印”到目标对象上,而不生成任何历史或属性事件,并且无需将传入数据与可能未加载的任何现有相关对象或集合进行协调。...提示 虽然 Session.refresh() 方法能够刷新列和关系导向属性,但其主要重点是刷新单个实例上的本地列导向属性。...提示 虽然 Session.refresh() 方法能够刷新列和关系导向属性,但其主要重点是刷新单个实例上的本地列导向属性。

    41310

    【愚公系列】2023年11月 WPF控件专题 2023秋招WPF高频面试题

    4.WPF 中的资源是什么?资源提供了一种简单的方法来重用已定义的对象和值。 WPF 中的资源允许一次设置多个控件的属性。 例如,可以使用单个资源在 WPF 应用程序中的多个元素上设置背景属性。...通过继承自DispathcerObject类,用户界面中的每个元素都可以检查代码是否在正确的线程上运行,并能通过访问调度程序为用户界面线程封送代码。Dependency: 所有支持依赖属性的类的基类。...帮助您构建应用程序的内容等。 17.Style 和 ControlTemplate的主要区别是什么?样式在控件上设置属性。...它们通过数据绑定和依赖属性或多个属性进行通信。 ViewModel 是一个非可视类。 MVVM 设计模式不派生自任何基于 WPF 的类。 ViewModel 不直接知道View。...尽管 Freezable 类有许多应用程序,但 WPF中的大多数 Freezable 对象都与图形子系统相关。 26.什么是MVVM?

    53222

    面试前必备的 JavaScript 基础知识梳理总结

    有索引属性和 length 属性的对象被称为 类数组对象。这种对象可能还具有其他属性和方法,但是没有数组的内建方法。...在类生命中,它们都被用关键字 static 进行了标记。 静态属性被用于当我们想要存储类级别的数据时,而不是绑定到实例。...类检查:"instanceof" 让我们总结一下我们知道的类型检查方法: 当我们使用类的层次结构(hierarchy),并想要对该类进行检查,同时还要考虑继承时,这种场景下 instanceof 操作符确实很出色...许多其他操作(完整列表请见本文开头部分和 docs[41])。 这使我们能够创建“虚拟”属性和方法,实现默认值,可观察对象,函数装饰器等。...hidden当被设置为 true 时,执行与 CSS display:none 相同的事。 DOM 节点还具有其他属性,具体有哪些属性则取决于它们的类。

    81020

    Unity基础教程系列——对象管理(二)对象多样化(Fabricating Shapes)

    更好的方法是使用数组。当然,也许以后我们会想出另一种方式来创建形状。但这只会让Game变得更加复杂,因为它还需要负责用户输入,跟踪对象并触发保存和加载等。...这对于以前保存的游戏是正确的,但对于我们添加了对多种形状的支持后保存的游戏却不正确。我们还必须添加对保存不同形状的功能支持,理想情况下,它应该同时仍然能够加载旧的保存文件。...因此,当我们最终得到一个小于或等于0的版本时,我们知道我们处理的是一个旧文件。在这种情况下,我们已经有了计数,只需要翻转一下符号。否则,我们就按照需要读取计数。 ? 问号是什么意思?...颜色的保存和加载是通过覆盖PersistableObject的保存和加载方法来完成的。首先处理基类,然后处理颜色数据。 ? 但这是假设有方法写入和读取颜色,但目前不是这样的。把它们加起来。...4.6 GPU实例化 当我们使用属性块时,可以使用GPU实例化在一个绘图调用中组合使用相同材质的形状,即使它们有不同的颜色。然而,这需要一个支持实例颜色的着色器。

    1.8K10

    JavaScript 面试必备的基础知识梳理(71个知识点)

    有索引属性和 length 属性的对象被称为 类数组对象。这种对象可能还具有其他属性和方法,但是没有数组的内建方法。...在类生命中,它们都被用关键字 static 进行了标记。 静态属性被用于当我们想要存储类级别的数据时,而不是绑定到实例。...类检查:"instanceof" 让我们总结一下我们知道的类型检查方法: 当我们使用类的层次结构(hierarchy),并想要对该类进行检查,同时还要考虑继承时,这种场景下 instanceof 操作符确实很出色...许多其他操作(完整列表请见本文开头部分和 docs[41])。 这使我们能够创建“虚拟”属性和方法,实现默认值,可观察对象,函数装饰器等。...hidden当被设置为 true 时,执行与 CSS display:none 相同的事。 DOM 节点还具有其他属性,具体有哪些属性则取决于它们的类。

    1.3K10

    SqlAlchemy 2.0 中文文档(五十五)

    这是因为Mixin不是数据类。 SQLAlchemy 2.0 系列中的数据类功能未正确遵守这一行为;相反,非数据类混合类和超类上的属性将被视为最终数据类配置的一部分。...此 API 有其自己的错误场景,其中大部分涉及在用户定义的类上构建__init__()方法;在类上声明的属性的顺序,以及在超类上的顺序决定了__init__()方法将如何构建,还有特定规则规定了属性的组织方式以及它们应如何使用参数如...另请参阅 关系加载技术 - 关于急切加载和其他基于关系的加载技术的详细文档 提交 - 有关会话提交的背景信息 刷新/过期 - 属性过期的背景信息 ### 由于在刷新过程中发生了先前的异常,此会话的事务已被回滚...此 API 具有自己的错误场景,其中大部分涉及在用户定义的类上构建 __init__() 方法;在类上声明的属性的顺序,以及在超类上的顺序决定了 __init__() 方法将如何构建,并且有特定规则规定了属性的组织方式以及它们应该如何使用参数...此 API 具有自己的错误场景,其中大多数涉及在用户定义的类上构建__init__()方法;在类上声明的属性的顺序,以及在超类上声明的属性,决定了__init__()方法将如何构建,并且有特定规则规定了属性的组织方式以及它们应如何使用参数

    44310

    构建面向未来的前端架构

    增加包的大小 我们怎样才能只允许在「正确的时间」加载、解析和运行需要的代码? 有一些组件是更重要的,要先给用户看。对于大型应用来说,一个关键的性能策略是根据优先级在页面渲染阶段通过异步操作加载代码。...同时,我们还可以在进行刷新操作时候,对用于实际看到的组件进行「服务端渲染」处理。 「单体组件」阻止了这些努力的发生,因为你必须把所有的东西作为一个大块的组件来加载。...在像React这样的拥有虚拟DOM的框架中,要实现更好的渲染性能,最简单的方法之一就是 ❝将根据「状态变化的进行归类」,同属一类的组件变化,无论是渲染时机还是代码存放位置,都进行统一处理,对于不隶属于同类变更的组件进行隔离处理...心智模型影响着我们在设计和构建前端组件时做出的许多微观决定 将这些明确化是有用的,因为它们积累得相当快。...、加载阶段、渲染性能等。

    99810

    前端开发面试题

    (1)link属于XHTML标签,除了加载CSS外,还能用于定义RSS, 定义rel连接属性等作用;而@import是CSS提供的,只能用于加载CSS; (2)页面被加载的时,link会同时被加载...经常遇到的浏览器的兼容性有哪些?原因,解决方法是什么,常用hack的技巧 ? png24位的图片在iE6浏览器上出现背景,解决方案是做成PNG8. 浏览器默认的margin和padding不同。...假设你现在正用一台显示设备来阅读这篇文章,同时你也想把它投影到屏幕上,或者打印出来, 而显示设备、屏幕投影和打印等这些媒介都有自己的特点,CSS就是为文档提供在不同媒介上展示的适配方法 等请求完,页面不刷新,新内容也会出现,用户看到新内容。 (待完善) 如何解决跨域问题?...polyfill 是“在旧版浏览器上复制标准 API 的 JavaScript 补充”,可以动态地加载 JavaScript 代码或库,在不支持这些标准 API 的浏览器中模拟它们。

    5.1K52

    如何通俗的理解面向对象编程

    我打算这样做的方法是去掉所有的行话,并通过一些例子。我将从解释类和对象开始。然后我将解释为什么类在各种情况下都很重要,以及它们是如何解决一些基本问题的。这样,读者也能在帖子末尾理解这三大术语。...除此之外,我们中的许多人最终都会在没有意识到的情况下使用类和对象。例如,当你使用任何scikit-learn模型时,实际上是在使用一个类。...主要是class、__init__和self。这些是什么?同样,通过一些例子很容易解释。 假设你在一家有很多账户的银行工作。我们可以创建一个名为account的类,用于处理任何帐户。...因此,通过Python中的多态性,一个同名函数可以执行多个任务的概念成为可能。事实上,这就是多态性的字面意思:“具有多种形式的东西”。所以这里我们的函数area有多种形式。...因此,当我们以下面的方式创建iPhone类时,你将无法访问你的memory或ipython私有函数,因为该属性现在使用_。 ? 但你仍然可以使用(尽管不建议使用)更改变量值, ?

    1.3K20

    SqlAlchemy 2.0 中文文档(二十五)

    另一种方法是使用简单验证器中描述的验证器;这些函数可以拦截属性的更改,并在响应属性更改时在目标对象上建立额外的状态更改。使用这两种方法,对象在进入刷新步骤之前就处于正确状态。...提示 虽然 Session.refresh() 方法能够刷新列和关系导向的属性,但其主要重点是在单个实例上刷新本地列导向的属性。...要获得更开放的“刷新”功能,包括能够同时刷新许多对象的属性并明确控制关系加载策略,请使用 populate existing 功能。...提示 虽然Session.refresh()方法能够刷新列和关系定向属性,但其主要重点是刷新单个实例上的本地列定向属性。...对于更开放的“刷新”功能,包括能够同时刷新多个对象的属性并明确控制关系加载器策略,请改用填充现有功能。 请注意,高度隔离的事务将返回与先前在该事务中读取的相同值,而不考虑该事务之外数据库状态的更改。

    19910

    CNN训练循环重构——超参数测试 | PyTorch系列(二十八)

    清理训练循环并提取类别 当我们在训练循环中退出几节时,我们建立了很多功能,使我们可以尝试许多不同的参数和值,并且还使训练循环中的调用需求可以得到结果 进入TensorBoard。...批次大小不同时,两次运行的学习率相同。...我们有begin_epoch()和end_epoch()。这两种方法将使我们能够在整个epoch周期中管理这些值。 现在,接下来我们有一些运行属性。我们有一个名为run_params的属性。...这是关于运行参数的运行定义。它的值将是RunBuilder类返回的运行之一。 接下来,我们具有跟踪run_count和run_data的属性。...您想知道问题是什么。好吧,问题是这样的。错是什么感觉? 也许我们可以形容它感觉很不好。或者,也许我们可能将其描述为尴尬或羞辱。 好吧,不。实际上,这不是感觉错误的方式。

    1.3K30

    JAVA基础知识

    如果一个类的变量或者方法前面有 static 修饰,那么表明这个方法或者变量属于这个类,也就是说可以在不创建对象的情况下直接使用  当父类的方法被 private 修饰时,表明该方法为父类私有,对其他任何类都是不可见的...当参数列表相同但返回值不同时,将会出现编译错误,这并不是重载,因为 jvm 无法根据返回值类型来判断应该调用哪个方法。 6.Java 支持多继承么?如果不支持,如何实现 ?...接口中所有的方法隐含的都是抽象的。而抽象类则可以同时包含抽象和非抽象的方法。 2.    类可以实现很多个接口,但是只能继承一个抽象类 3.    ...方法区主要用来存储已被虚拟机加载的类的信息、常量、静态变量和即时编译器编译后的代码等数据。 3. 该区域是被线程共享的。  4. 方法区里有一个运行时常量池,用于存放静态编译产生的字面量和符号引用。...字节码验证:是整个验证过程中最复杂的一个阶段,通过验证数据流和控制流的分析,确定程序语义是否正确,主要针对方法体的验证。如:方法中的类型转换是否正确,跳转指令是否正确等。  4.

    94720

    SqlAlchemy 2.0 中文文档(五十八)

    在不寻常的情况下,如果自定义 SQL 列类型同时也用作批量 INSERT 的“标志”列不接收和返回相同类型的值,则将引发“无法匹配”错误,但缓解方法很简单,即应传递与返回值相同的 Python 数据类型...对于 backref 待处理集合成员的警告的添加建立了与可能根据不同的关系加载策略在不同时间基于不同时间刷新或不刷新的集合的更大一致性。...由于主键属性现在自动包含在刷新中,因此当关系加载器开始为它们选择时,这些属性不会有额外的加载(#8997)。...无论是直接还是包含在映射器属性对象内部,现在都将在映射的 Table(或其他可选择的)本身中以它们出现的顺序进行映射(假设它们实际上是该表的列列表的一部分),从而保持在映射的可选择上的列的顺序与在映射类中操纵的顺序相同...为 backref-待定集合成员添加警告增加了与可能存在或不存在的集合以及基于不同关系加载策略在不同时间可能刷新或不刷新的集合的一致性。

    16710
    领券