Tag: 类的

如何遍历一个类的所有属性?

我有一堂课。 Public Class Foo Private _Name As String Public Property Name() As String Get Return _Name End Get Set(ByVal value As String) _Name = value End Set End Property Private _Age As String Public Property Age() As String Get Return _Age End Get Set(ByVal value As String) _Age = value End Set End Property Private […]

从构造函数调用方法

请原谅任何小的语法错误或什么,我正在经历这与Jitsi模块,而不是超级熟悉Java想确认发生了什么事以及为什么以及如何修复。 public abstract class A { public A() { this.load(); } protected void load() { } } public class B extends A { private String testString = null; public B() { super(); } @Override protected void load() { testString = "test"; } } 应用程序在使用加载类名称方法创build类B的实例时执行此操作: 在类B中调用重载的load() 初始化variables(根据debugging器调用“private string testString = null”),将它们归零。 这是预期的Java行为? 什么可能导致这个? 这是在1.7 JDK上运行的Java 1.6应用程序。

Java:如果A扩展了B,而B扩展了Object,那是多重inheritance

我刚接受采访,有人问我一个问题。 Interviewer – Java是否支持多inheritance? 我 – 没有 Interviewer – Java中的每个类都扩展了Object类(除了Object类),如果我们在外部扩展一个类 Class A extends B{ // some code here } 那么你可以说A类扩展了B类和Object类,这意味着它是多重inheritance。 那么你怎么能说Java不支持多inheritance? 我 – 实际上B类扩展了Object类,所以当你在类A中扩展类B时,类A间接地扩展了类Object。 这是多级inheritance,不是多重inheritance。 但是我的回答并没有使他满意。 我的答案是否正确? 或者我错在哪里? 内部实际发生了什么?

你如何传递成员函数指针?

我正在试图将一个类中的成员函数传递给一个接受成员函数类指针的函数。 我遇到的问题是我不知道如何正确使用这个指针在类内做到这一点。 有没有人有build议? 这是传递成员函数的类的一个副本: class testMenu : public MenuScreen{ public: bool draw; MenuButton<testMenu> x; testMenu():MenuScreen("testMenu"){ x.SetButton(100,100,TEXT("buttonNormal.png"),TEXT("buttonHover.png"),TEXT("buttonPressed.png"),100,40,&this->test2); draw = false; } void test2(){ draw = true; } }; 函数x.SetButton(…)包含在另一个类中,其中“object”是一个模板。 void SetButton(int xPos, int yPos, LPCWSTR normalFilePath, LPCWSTR hoverFilePath, LPCWSTR pressedFilePath, int Width, int Height, void (object::*ButtonFunc)()) { BUTTON::SetButton(xPos, yPos, normalFilePath, hoverFilePath, pressedFilePath, Width, Height); this->ButtonFunc = […]

如何调用超级构造函数?

class A: def __init__(self): print "world" class B(A): def __init__(self): print "hello" B() hello 在所有其他语言中,我使用超级构造函数是隐式调用的。 如何在Python中调用它? 我期望super(self)但这是行不通的。

Java同步的静态方法:locking对象或类

Java教程说:“同一对象上的两个同步方法的调用不可能交错。 这对static method意味着什么? 由于静态方法没有关联的对象,所以synchronized关键字会locking类,而不是对象?

从构造函数的C ++虚函数

为什么下面的例子打印出“0”,而为了打印出“1”,我想要怎么改变呢? #include <iostream> struct base { virtual const int value() const { return 0; } base() { std::cout << value() << std::endl; } virtual ~base() {} }; struct derived : public base { virtual const int value() const { return 1; } }; int main(void) { derived example; }

静态类成员上未parsing的外部符号

很简单地说: 我有一个主要由静态公共成员组成的类,所以我可以将类似的函数组合在一起,而这些函数仍然需要从其他类/函数中调用。 无论如何,我已经在我的类的公共范围中定义了两个静态无符号字符,当我尝试在同一个类的构造函数中修改这些值时,编译时出现“未parsing的外部符号”错误。 class test { public: static unsigned char X; static unsigned char Y; … test(); }; test::test() { X = 1; Y = 2; } 我是C ++新手,所以对我来说很简单。 为什么我不能这样做?

Python在类中有“私有”variables吗?

我来自Java世界,阅读Bruce Eckels的Python 3 Patterns,Recipes和Idioms 。 在阅读类时,它继续说在Python中不需要声明实例variables。 你只是在构造函数中使用它们,繁荣,它们在那里。 举个例子: class Simple: def __init__(self1, str): print("inside the simple constructor") self1.s = str def show(self1): print(self1.s) def showMsg (self, msg): print (msg + ':', self.show()) 如果这是真的,那么Simple类的任何对象都可以在类之外改变variabless值。 例如: if __name__ == "__main__": x = Simple("constructor argument") xs = "test15" # this changes the value x.show() x.showMsg("A message") 在Java中,我们被教授关于公共/私有/受保护的variables。 这些关键字是有意义的,因为有时候你想要一个class级以外的class级无法访问的variables。 […]

将两个对象与.equals()和==运算符进行比较

我用一个String字段构造了一个类。 然后我创build了两个对象,我必须使用==运算符和.equals()来比较它们。 以下是我所做的: public class MyClass { String a; public MyClass(String ab) { a = ab; } public boolean equals(Object object2) { if(a == object2) { return true; } else return false; } public boolean equals2(Object object2) { if(a.equals(object2)) { return true; } else return false; } public static void main(String[] args) { MyClass object1 […]