是否有任何方法可以在同一个类的方法中获取类名?或者一般来说,如果我有一个类的实例,我需要知道哪个类是它的实例?
答案 0 :(得分:3)
在Qore中(根据问题上的标签),您需要在对象上使用<object>::className()伪方法。
例如:
prompt% qore -nX '(new Mutex()).className()'
"Mutex"
如果您在课堂上,请在自动self
变量上使用此伪方法:
prompt% qore -ne '
class T {
string getClassName() {
return self.className();
}
}
class U inherits T {}
printf("%s\n", (new U()).getClassName());
'
U
或者,您也可以使用get_class_name()函数,如以下示例所示:
prompt% qore -nX 'get_class_name(new Mutex())'
"Mutex"
请注意,如果一个类定义了一个与伪方法同名的方法,那么将调用类方法,并且不能调用伪方法,在这种情况下你必须使用上面提到的函数。
答案 1 :(得分:0)
请参阅http://php.net/manual/pl/function.get-class.php。
File "C:/Users/DELL/Pranavan/PyCharm Projects/QE/SIFT_implementation.py", line 1, in <module>
import cv2
File "C:\Users\DELL\AppData\Roaming\Python\Python36\site-packages\cv2\__init__.py", line 9, in <module>
from .cv2 import *
ModuleNotFoundError: No module named 'cv2.cv2'