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

如何在VBA中从继承的类中调用基类的方法?

在VBA中,可以通过使用关键字"Me"来调用继承类中的基类方法。"Me"关键字表示当前类的实例,可以用于调用基类中的方法。

以下是一个示例代码,演示了如何在VBA中从继承的类中调用基类的方法:

代码语言:txt
复制
' 定义基类
Class BaseClass
    Public Sub BaseMethod()
        MsgBox "这是基类的方法"
    End Sub
End Class

' 定义继承类
Class DerivedClass
    Inherits BaseClass
    
    Public Sub DerivedMethod()
        MsgBox "这是继承类的方法"
        
        ' 调用基类的方法
        Me.BaseMethod
    End Sub
End Class

' 创建继承类的实例并调用方法
Sub Test()
    Dim obj As New DerivedClass
    obj.DerivedMethod
End Sub

在上述代码中,我们定义了一个基类BaseClass,其中包含了一个名为BaseMethod的方法。然后,我们定义了一个继承类DerivedClass,它继承自BaseClass。在DerivedClass中,我们定义了一个名为DerivedMethod的方法,在该方法中,我们首先调用了继承类自身的方法,然后使用关键字Me调用了基类的方法BaseMethod

最后,我们在Test子过程中创建了继承类的实例,并调用了DerivedMethod方法。运行该代码,将会依次弹出两个消息框,分别显示"这是继承类的方法"和"这是基类的方法"。

需要注意的是,VBA中的类和继承是通过引用Microsoft Visual Basic for Applications Extensibility库来实现的。在使用继承时,需要在VBA编辑器中的"工具"->"引用"中勾选"Microsoft Visual Basic for Applications Extensibility"选项。

关于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,建议您在腾讯云官方网站上查找相关产品和文档,以获取更详细的信息。

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

相关·内容

派生虚函数和非虚函数继承效果

,所以他只认哪个指针指向自己,这里是Animal指针指向,所以他就调用Animal里面的,普通函数是父为子类提供“强制实现”,也就是只要是父指针调用普通函数,那就是父普通函数 而虚函数作用,...主要是为了让父指针可以调用子类函数,这种是在运行时才决定调用哪个函数 1、虚函数:   C++虚函数主要作用是“运行时多态”,父中提供虚函数实现,为子类提供默认函数实现。...子类可以重写父虚函数实现子类特殊化。 2、纯虚函数:   C++包含纯虚函数,被称为是“抽象”。抽象不能使用new出对象,只有实现了这个纯虚函数子类才能new出对象。   ...C++纯虚函数更像是“只提供申明,没有实现”,是对子类约束,是“接口继承”。   C++纯虚函数也是一种“运行时多态”。...因此,在继承关系,子类不应该重写父普通函数,因为函数调用至于对象字面值有关。 参考链接

8410
  • Python 在子类调用方法详解(单继承、多层继承、多重继承

    测试环境: win7 64位 Python版本:Python 3.3.5 代码实践: 1、在子类通过“名”调用方法 class FatherA: def __init__(self)...__init__(self) # 在子类调用方法:父名.方法名称(参数) if __name__ == '__main__': b = SubClassB() 运行结果: >>> ==...(SubClassB由FatherA变为FatherD时),必须遍历整个定义,把子类中所有的父名全部替换过来 2、在子类通过“super”方法调用方法 场景1、单层继承 class...--type(如果有的话),即type决定了前往哪个父调用指定方法 场景3、多重继承 实验1: class FatherA: def __init__(self): print('...,以super().method(参数)方法调用方法,如果不同父存在同名方法method(不管参数列表是否相同),则按继承顺序,选择第一个父方法

    3.2K30

    python继承

    ---- 本节知识视频教程 一、多继承 类似于c++某个,一次可以继承多个父,所有被继承这些父方法和属性都将可以被子类使用。...注意:如果所继承方法相同情况下,那么按照从左到右方向,依次由写在左边方法覆盖右边方法。...如果某个方法继承父级中有相同方法名称,那么我们结果就是以这个子类方法名称作为最终 方法。 二、查看父和属性继承规则 1.如何查看继承多个父级是哪些?...可以通过子类__bases__ (注意这里有两个下划线) 2.Python属性继承规则呢? 通过测试,我们知道属性继承规则和方法继承规则是一样。...三、总结强调 1.掌握多继承定义 2.掌握查看多继承魔法属性 3.掌握多继承调用规则 4.掌握属性继承规则 相关文章: python应用场景有哪些?岗位工资如何?

    1.4K30

    Python、对象、继承

    通过self定义变量只能通过实例进行访问,self.country,变量country只能通过实例进行访问。 方法 Python中方法名均为小写字母,不同单词间以下划线进行分割。...程序运行结果可知,调用是定义在后面的say(self, info)方法。...实例方法 定义方法时,没有装饰器修饰且带有参数(可以不是self),即为实例方法外部通过实例来调用内部通过self.方法名来调用。...Chinese类型实例,我们可以看到Chinese继承了除country之外所有字段。...子类还会继承函数,若子类没有实现自己构造函数(__init__(self)),那么在实例化子类时会调用构造函数。

    2.3K50

    承上启下角色——继承

    此时下一个角色也就出来了——多态(本文仅有继承,多态请看后续) 一、继承概念及定义 1.1继承概念        以我口水话来解释:         首先我们表面来看,继承,在我们认知,这里牵扯了两个对象...派生构造函数必须调用构造函数初始化那一部分成员。如果没有默认 构造函数,则必须在派生构造函数初始化列表阶段显示调用。 2....派生拷贝构造函数必须调用拷贝构造完成拷贝初始化。 3. 派生operator=必须要调用operator=完成复制。 4....派生析构函数会在被调用完成后自动调用析构函数清理成员。因为这样才能 保证派生对象先清理派生成员再清理成员顺序。 5. 派生对象初始化先调用构造再调派生构造。...3、子类析构,只需要析构子类自身成员,子类部分(切片),不用显式调用,在析构完子类时,它会自动调用析构来释放子类部分(切片)。

    75330

    python继承代码块

    知识回顾: 属性和方法私有化。 Python私有化,并非真正意义上私有化后不能被调用,而是通过编译器迂回方式来重新定义私有化成员名称。...代码块使用注意点: 1.实例化一个后,如果在方法外写代码会被直接运行。 2.变量名称,自动会被认为属性,这个属性可以被该类方法调用。...二、继承 继承:子类可以继承方法和属性。...继承代码定义方式: Class 父名称: 父成员 Class 子类名称(父名称):#这里体现了继承定义 子类成员 注意:子类继承后,我们可以直接实例化子类,那么父属性和方法都可以被子类调用...三、总结强调 1.代码块,可以通过实例化就可以输出中代码效果,主要理解代码块读取顺序。 2.继承。掌握继承定义以及调用方法继承了哪些。

    1.8K20

    TS继承以及抽象

    前言 上篇文章,我们介绍了TS和修饰符,这篇我们继续了解TS相关两个东西,分别是继承以及抽象 继承 我们知道js中有继承,最开始js是使用函数来模拟实现,一直到ES6出现...事实上,继承好处在于,可以更好重用代码,以及后期更好维护代码 TS继承ES6继承极其相识,子类可以通过extends关键字继承一个 例如: class Person{ name:...(); } } 复制代码 如上,B继承A,那B被称为父(超),A被称为子类(派生) 子类实例是可以继承所有的public和protected属性和方法 除了继承,面向对象还有一个特征:多态...js和ts多态其实很常见,可以理解为多种状态,比如代码在运行时才能决定具体执行哪个函数 抽象 抽象就是指不具体,所以抽象就是指不具体。...):number{ return 1 } } 复制代码 需要注意,抽象仅仅作为,不能new let b = new B();//可以 let a = new A();//报错

    1.4K00

    Python继承、多层继承和多继承

    Python,一个可以通过继承方式来获得父非私有属性和非私有方法。...一、继承、重写、和调用重写方法 继承语法为在名后小括号()写入要继承名,如果要继承多个则中间用逗号分隔。...1.父非私有属性和非私有方法,子类可以直接继承,子类对象可以直接使用。如果子类要调用私有属性和私有方法,只能通过间接方法来获取。...4.如果在子类重写父方法,需要使用父类同名方法功能,在父功能基础上做扩展,则子类可以在重写方法调用被重写方法,使用super()来调用。 ? 二、多层继承 可以多层继承。...当Mi对象调用属性和方法时,优先在自己内部查找是否有该属性和方法,如果没有会到它Phone查找该属性和方法,如果没有会继续往上在PhoneElectrical查找,一直查找到object

    5.3K30

    python静态方法方法

    设置属性 4.通过查看属性值,来看属性监控是否成功 二、静态方法方法名称前加一个头标记@staticmethod。...静态方法往往用于一些自定义来实现一些通用功能,可以方便我们调用方法静态方法,不需要self这类参数,因为静态方法,不需要进行实例化,就可以进行调用。...三、方法方法名称前加一个头标记@classmethod。 方法调用也不需要进行实例化。 方法是在python构造方法一个补充。...,我不需要实例化,就可以被调用") 调用名称.方法名称() Person.say() 方法类似于静态方法 定义: @classmethod def setName(cls):...name="test方法" print(name) 调用: Person.setName() 静态方法方法区别主要是在方法定义时候头标记不同。

    3.1K20

    Js定义和继承

    定义 function Person() { // 属性 this.name = "张三" this.age = 20 // 方法 // 实例方法,需要new才能被调用...new per.talk = function () { console.log("我是静态方法") } // 调用静态方法 per.talk() // 通过原型链拓展属性和方法 // 原型链上属性会被多个实例共享...对象冒充继承 // 对象冒充继承 function Woman() { //对象冒充可以继承函数属性和方法,无法继承原型链上 Person.call(this) } var wom...= new Woman() wom.run() //父函数里方法 原型链继承 // 原型链继承 function Man() {} // 原型链可以继承函数和原型链上属性和方法 Man.prototype...= new Person() var man = new Man() man.run() //父函数里方法 man.work() //父原型链里方法 子类给父传参 对象冒充+原型链 function

    2.3K40

    浅谈数字IC验证面向对象编程(抽象继承

    面向对象编程使我们可以在软件设计上做同样事情。可以定义一个通用,并使用继承创建该抽象特定实例。...class()定义了对象抽象特征(属性,attributes)和行为(方法,methods)。这是一个用于创建一个或多个相同类型对象蓝图(blueprint)。...例如有一个汽车定义了所有汽车对象可以包含东西,然后在该类基础上定义具有某种特殊属性(品牌、颜色和引擎等)特殊汽车,例如银色保时捷跑车。 使用继承可以允许具有足够相似接口对象共享代码。...父仅用于实现重用和抽象,声明为virtual class,永远不要实例化父。 对象保存运行时数据并用作构建程序,程序实例化对象并触发对象之间互动。...模块实例是在Verilog进行elaboration时创建并且存在于整个仿真过程,对象可以根据要求在运行时创建。在功能验证,测试平台构建过程是动态,这使其更加灵活。 endclass: car

    98810

    Python协议 、鸭子类型 、 抽象 、混入

    本篇文章探讨一下python几个概念:协议 、鸭子类型 、 抽象 、混入。 一、协议 在python,协议是一个或一组方法。...三、抽象 抽象就是定义各种方法而不做具体实现,任何继承自抽象必须实现这些方法,否则无法实例化。 那么抽象这样实现目的是什么呢? 假设我们在写一个关于动物代码。...示例2定义了一个抽象 Animal,它包含两个抽象方法eat和voice,Dog和Bird都继承了Animal,并各自实现了具体eat和voice方法。...Dog和Bird在实例化之后调用相同方法,但是却有不同输出,这就是最简单抽象用法。...Django在这方面做很好,举一个例子, ListView主要用于数据库获取多条记录,它继承关系如下: ? 整个体系非常清晰,各个职责也非常明确,且职责从命名就可以读出。

    1.9K20

    python 不同包 方法 之间调用详解

    ’, password=’123456′) 两种方式均报错 错误提示: name ‘***’ is not defined 或者 No module named ORM 解决办法: 方法一...circular import * #导入圆形模块 girth(10) #调用计算圆形周长函数 girth(10,,20) #调用计算矩形周长函数 解决办法是...不使用from….import 导入,而是使用import导入 import rectangle as r import circular as c c.girth(10) #调用计算圆形周长函数...r.girth(10,,20) #调用计算矩形周长函数 也可以直接把函数起别名,这样在用函数时候直接使用函数别名就行了 from… import ….as… 以上这篇python...不同包 方法 之间调用详解就是小编分享给大家全部内容了,希望能给大家一个参考。

    2.4K10

    python 方法

    首先看看数据是如何在这个代码中流转。 定义Person,然后创建实例hiekay=Person(“hiekay”)。...hiekay”是一个具体数据,通过构造函数name参数,传给实例属性self.name,在Person另外一个方法author参数列表第一个就是self,表示要承接self对象,return...self.name,就是在内部通过self对象,把它属性self.name数据传导author。...编写和操作方法 编写方法过程和编写一个函数过程一样,需要注意就是要在参数列表第一个写上self,即使没有其它参数。 #!...对author方法增加了一个参数address,当调用这个方法时候:hiekay.author(“China”),要对这个参数赋值,在,这个方法显示是有两个参数(self,address),但是在调用时候

    1.4K10

    构造方法

    1、构造方法概述 1.1、什么是构造方法 构造方法是正常开发不可或缺一部分,是语法上必须存在。是一个具有特殊格式方法,且有特殊调用方式。...1.2、构造方法作用 1.2.1、实例化对象 用来创建实例对象方法,给对象数据进行初始化,: Person p = new Person(); 调用构造方法 Person();只是我们没有写这个方法...而不同是,其他方法调用是为了这个方法对应功能,而构造方法功能就是创建对象,同时可以为属性赋值。 我们在此之前创建对象方式均是通过构造方法,这样当对象创建出来后就已经具备了非默认值初始值。...System.out.println(p2.getName()); //打印结果为AngelaBaby 3.2、注意事项 接口没有构造方法,抽象具有构造方法 构造方法不能被继承:父叫Person...,子类叫Student 继承构造方法后,那么我new Person()后是子类对象,还是父对象,我们分不清楚 。

    1.1K20
    领券