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

从其他类odoo 9调用函数

从其他类调用函数是指在编程中,一个类可以调用另一个类中定义的函数。这种调用可以通过创建类的实例对象来实现,然后使用该对象调用目标类中的函数。

在odoo 9中,可以通过以下步骤从其他类调用函数:

  1. 导入目标类:在调用类中,首先需要导入目标类。可以使用Python的import语句来实现。例如,如果要调用名为"TargetClass"的类中的函数,可以使用以下代码导入该类:
代码语言:python
代码运行次数:0
复制
from . import TargetClass
  1. 创建目标类的实例对象:在调用类中,需要创建目标类的实例对象。可以使用目标类的构造函数来创建实例对象。例如,如果目标类的构造函数没有参数,可以使用以下代码创建实例对象:
代码语言:python
代码运行次数:0
复制
target_obj = TargetClass()
  1. 调用目标类的函数:通过创建的实例对象,可以调用目标类中的函数。使用实例对象和点操作符来访问目标类中的函数。例如,如果目标类中有一个名为"target_function"的函数,可以使用以下代码调用该函数:
代码语言:python
代码运行次数:0
复制
target_obj.target_function()

以上是从其他类调用函数的基本步骤。具体的实现方式可能会根据odoo 9的框架和具体的类结构而有所不同。

在odoo 9中,可以使用这种方式从其他类调用函数来实现不同的功能,例如在模型类中调用其他模型类的函数,或在控制器类中调用模型类的函数等。这种调用方式可以帮助实现代码的重用和模块化,提高开发效率。

腾讯云相关产品和产品介绍链接地址:

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

相关·内容

  • Java继承的重名static函数浅谈解析调用与分派

    extends testClass1{ 7 static void SMethod(){ 8 System.out.println("static in testClass2"); 9...,当我们用父的实例引用(实际上该实例是一个子类)调用static函数时,调用的是父的static函数。...当一个方法被调用时,JVM首先检查其是不是方法。如果是,则直接调用该方法引用变量所属中找到该方法并执行,而不再确定它是否被重写(覆盖)。...动态分派是用于方法重写的,比如我调用一个A的方法f,如果该类有子类a,那么我以a来调用f的时候,调用的实际是a.f而非A.f。 看起来还真的像动态分派是不是?但是结果不符合啊!...在调用static方法时,编译器就会直接在加载时把其符号引用解析为直接引用,不存在说子类找不到方法之后再去父找这种行为,所以也叫解析调用

    1.2K30

    怎么用super调用构造函数

    Box派生的并没有体现出它们的实际上是多么有效和强大。例如,BoxWeight构造函数明确的初始化了Box( )的width、height和depth成员。...使用super调用构造函数 子类可以调用中定义的构造函数方法,用super的下面形式:java复制代码super(parameter-list); 这里,parameter-list定义了超中构造函数所用到的所有参数...上面的例子,调用super( )用了三个参数。既然构造函数可以被重载,可以用超定义的任何形式调用super( ),执行的构造函数将是与所传参数相匹配的那一个。...这仍然调用了构造函数Box(Box ob)。前面已经提醒过,一个超变量可以引用作为任何一个它派生的对象。因此,我们可以传递一个BoxWeight对象给Box构造函数。...当一个子类调用super( ),它调用它的直接超的构造函数。这样,super( )总是引用调用直接的超。这甚至在多层次结构中也是成立的。

    13010

    栈上理解 Go语言函数调用

    我们先来看看 plan9 的汇编函数的定义: 汇编函数 我们先来看看 plan9 的汇编函数的定义: [function] stack frame size:包含局部变量以及额外调用函数的参数空间;...综上在函数调用中,关于参数的传递我们可以知道两个信息: 参数完全通过栈传递 参数列表的右至左压栈 下面是调用 add 函数之前的调用栈的调用详情: [call stack] 当我们准备好函数的入参之后...小结以下栈的调用规则: 参数完全通过栈传递 参数列表的右至左压栈 返回值通过栈传递,返回值的栈空间在参数之前 函数调用完毕后,调用方(caller)会负责栈的清理工作 结构体方法:值接收者与指针接收者...但是我们通过其他的方法调用都知道,如果变量保存在栈上那么变量会随栈帧的退出而失效,所以闭包的变量会逃逸到堆上。...其实这段汇编和其他函数调用的汇编是一样的,没啥好讲的,在调用 test 函数之前就是做了一些栈的初始化工作。

    2K30

    python 子类调用的构造函数实例

    当子类继承父后,需要调用的方法和属性时,需要调用的初始化函数。...,但新的构造函数没有初始化父,当没有初始化父的构造函数时,就会报错。...super函数返回一个super对象,解析过程自动查找所有的父和父的父,当前和对象可以作为super函数的参数使用,调用函数返回的方法是超的方法。...使用super函数如果子类继承多个父只许一次继承,使用一次super函数即可。 如果没有重写子类的构造函数,是可以直接使用父的属性和方法的。...以上这篇python 子类调用的构造函数实例就是小编分享给大家的全部内容了,希望能给大家一个参考。

    3.5K30

    面试驱动技术之 - isa && 元 && 函数调用

    ,就是我们调用的`calloc`函数的底层 void * malloc_zone_calloc(malloc_zone_t *zone, size_t num_items, size_t size)...通过 alloc 出来的对象 每次 alloc 都会产生新的instance 对象(内存不相同) instance 对象存储的信息 isa 指针 其他成员变量 class 对象 是创建对象的蓝图...的实现,调用它,整个流程结束 image [MNSubclass superClassMethod]; 问: 子类调用方法,执行的流程是如何的?...存储的是 对象方法 面向对象的角度来讲,一个调用一个方法,不应该最后调用到 对象方法 这里的Root class 就是 NSObject, 要给 NSObject 添加方法就要用到 分类 验证...MNTest) + (void)checkSuperclass{ NSLog(@"+NSObject checkSuperclass - %p",self); } @end //main函数调用

    92920

    成员函数指针成为可调用对象

    成员函数指针实践上是一个指针类型,不可直接通过调用运算符()作为可调用对象调用,一般调用该类成员函数指针需要指定该指针对应的对象。     ...一般情况下调用成员函数指针: // a.h #ifndef A_H #define A_H #include  using std::cout; using std::endl;...>的std::function模板: 因为的成员函数执行时,会在参数列表添加参数--隐式的this实参,在function模板调用时可以传入对象实现this的功能(传入的对象不一定是指针类型...),function判断如果是成员函数指针,则会将通过该对象使用成员访问运算符,实现成员函数指针的调用功能(具体function如何判断是成员函数指针还是普通函数指针,本人现在不清楚,如果有理解错误地方望指正...表示成员函数的返回值,A表示传入的参数类型为A,因为是模板类型则要求可以准确匹配,且A类型可以调用对应的成员函数,如果是const A调用const成员函数     function<void (A

    1.1K40

    Genesis框架入门到精通(9): 函数介绍

    Genesis内含的辅助函数是它的又一个巨大优点。今天我们先快速总览一下全貌,然后我将带你深入研究每个函数的细节。 首先,还是看看文件结构。...genesis/lib/functions/ breadcrumb.php (面包屑导航) compat.php (截取字符串长度) deprecated.php (不再使用的函数,因为它们已被新函数替换...) feed.php (将url重定向到Feed的地址) formatting.php (格式化文本或返回其他函数值的函数) general.php (杂七杂八的设置) head.php(处理网站头部信息的函数...我们将在本系列的后续文章中讨论其中的大多数文件和函数,现在让我们先从一些最常用的函数开始介绍一下。...更详细的内容将在稍后发布,现在先大致的看几个函数: genesis_get_image() 此函数和 genesis_image() 用于获取特色图像。实际上它还可以做得更多。

    53940

    thinkPHP简单调用函数库的方法

    本文实例讲述了thinkPHP调用函数库的方法。分享给大家供大家参考,具体如下: 手册上说的很冗余,没看懂,下面简单的讲一下具体用法。...函数调用: lib公共函数库叫common.php App/common/common.php 分组模块下的公共函数库叫function.php App/Modules/Admin/common/function.php...调用: 代码如下 1classIndexActionextendsAction{2  publicfunctionindex(){3   // 调用“扩展基库” ThinkPHP/Extend.../Library/ORG/Util/Test.class.php4   import('ORG.Util.Test');5   $test=newTest();6   // 调用“扩展基库” ThinkPHP.../Extend/Library/Com/Util/Test.class.php7   import('Com.Util.Test');8   $test=newTest();9   // 调用“核心基

    83910

    odoo ORM API学习总结兼orm学习教程

    每个实例的实际都是创建和继承相应模型的Python构建的。 每个模型实例都是一个“记录集(recordset)”,即模型记录的有序集合。...,这种情况下,依赖通过调用 在这种情况下,通过使用字段的模型调用函数来提供依赖项 odoo.api.depends_context(*args)[源代码] 返回一个修饰符,该修饰符指定非存储的“compute...模型层面的操作需要添加此修饰器,相当于静态函数 @api.model def method(self, args): ... odoo.api.model_create_multi(method..._context {'lang': 'en_US', 'tz': 'Europe/Brussels'} 其他记录集创建记录集时,将继承环境。...,以模块化方式扩展模型: 现有模型创建新模型,向副本中添加新信息,但保留原始模块 扩展其他模块中定义的模型,替换以前的版本 将模型的一些字段委派给它包含的记录 经典继承 当同时使用_inherit和

    13.5K10

    小朋友学C++(10):子类构造函数调用构造函数

    哲学层面来看,子类会继承父除private以外的所有成员。 因为构造函数是公有的,所以理所当然地会被子类继承。...分析: 这里构造函数的写法是 Rectangle() : Shape() { 子类构造函数本身的语句; } 这是先调用的构造函数,再执行它本身的语句。运行结果也可以看出这一点。...那么,如果不显示调用的构造函数Shape()呢?父的构造函数就不被调用了吗? 咱们可以用下面的程序来验证。...分析: 运行结果可以看出,程序1和程序2的运行结果完全一致。也就是说,Shape()即使不显示调用,实际上也会被调用。并且调用顺序优先于子类本身的构造函数

    1.4K60

    通俗易懂,函数 def 到 Class

    摘要:初学 Python 过程中,我们可能习惯了使用函数(def),在开始学习(Class)的用法时,可能会觉得它的写法别扭,的代码写法也不像函数那么简单直接,也会产生「有了函数为什么还需要」的疑问...两大框架都使用了的写法,基于此,本文将介绍如何函数的写法顺利过渡到的编写习惯。...接下来,就举几个同时使用了函数写法和的写法的案例,希望能够帮助你快速完成函数的编程思想的过渡转换。 ▌爬取豆瓣电影 TOP250 ?...中的函数和普通的函数相比,只有一点不同。 中的函数(也称为方法)的第一个参数永远是实例变量self,并且调用时,不用传递该参数。除此之外,的方法和普通函数没有什么区别。...下面,我们再看看第三个例子,普通的写法过渡到 pyspider 框架中的写法,这样有助于快速上手 pyspider 框架。 ▌爬取虎嗅文章 ?

    2K31

    2021-04-14 quickjs调用的非静态成员函数

    有这样一个需求:多线程条件下执行交易,每个交易都会通过quickjs回调c++代码的函数,而这个函数使用的数据又来自于当前的交易 首先不考虑用全局变量来保存交易的数据,因为js回调c函数的时候我们无法在回调函数中区分当前属于哪个交易...,如果你总是把交易的id通过回调函数传递过来也是可以实现,只是这样函数就多了个参数,写js代码的人无法理解。...一个简单的思路是c代码创建交易的,然后把函数传递给quickjs,然后在js中调用这个函数,但是这个实现不了,因为quickjs没有注入非静态成员函数的接口,其原因文章非static成员函数通过名...::来调用,空指针调用成员方法不出错!...讲解的比较清楚 换个思路,我们先用js创建这个,然后调用eval把的数据传递给它,这样调用这个的非静态成员函数的时候就可以正确访问到数据了,我们直接修改文件example.cpp 具体实现如下

    98920

    【C++】泛型编程 ⑦ ( 模板常用用法 | 模板声明 | 模板调用 | 模板作为函数参数 )

    具体的 , 定义 具体的 变量 ; MyClass myInt(10); 3、模板做函数参数 模板 作为函数参数 , 形参 必须是具体类型 , 也就是 模板 的泛型类型必须声注明 ;...下面的 fun 函数中 , 接收模板作为参数 , 模板的 泛型类型 需要被注明 ; // 模板对象作为函数参数 // 形参必须是具体类型 // 模板的泛型类型必须声注明 void fun(MyClass...HelloWorld\HelloWorld\Test.cpp(20,18): error C2662: “void MyClass::printValue(void)”: 不能将“this”指针“...T 类型的成员变量 value , 以及一个接受T类型参数的构造函数 , 在printValue函数中 , 打印 value 的值 ; template 是模板声明 , 告诉编译器我们将在后面定义一个模板.../ 调用模板 MyClass myInt(10); // 创建一个 int 类型的实例 myInt.printValue(); //

    6700
    领券