Chinaunix首页 | 论坛 | 博客
  • 博客访问: 153867
  • 博文数量: 37
  • 博客积分: 2510
  • 博客等级: 少校
  • 技术积分: 380
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-13 18:49
文章分类

全部博文(37)

文章存档

2010年(1)

2009年(19)

2008年(17)

我的朋友

分类: Python/Ruby

2008-11-11 21:54:07

昨晚在看“http://www.pythontik.com/blog/default.asp?cateID=5”上面的文章时被一段话吸引了

1.2.2 使用应用程序和框架工作

一旦你导入了wx模块,你就能够创建你的应用程序 (application)对象和框架(frame)对象。每个wxPython程序必须有一个application对象和至少一个frame对象。 application对象必须是wx.App的一个实例或你在OnInit()方法中定义的一个子类的一个实例。当你的应用程序启动的时候, OnInit()方法将被wx.App父类调用。

那怎么让他实现呢,今天看那个继承部分于是自己写了一个helloworld。

class a(object):
    def __init__(self):
        print 'a init() called'
        self.a1()

    def a1(self):
        print 'a a1() called'

class b(a):
    def a1(self):
        print 'b b1() called'

>>> aa=a()
a init() called
a a1() called

        
>>> bb=b()
a init() called
b b1() called

另外发现:

对象方法(绑定)对于类而言也可以调用,但是必须手动传递self参数。

比如上面的例子中

a.a1(aa)是合法的。但是我们必须手动的传递一个对象参数。

而如果

aa.a1().则系统自动将自身传递给a1函数。

所以类a的__init__函数中的

self.a1()不能改成

self.al(self) #报错

a.a1(self) #无错误,但是无法达到预期效果,因为将a1钉死拉。

阅读(855) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~