设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: crossin先生
打印 上一主题 下一主题

【Python 第50课】 面向对象(4)

[复制链接]

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

61#
发表于 2018-4-7 13:22:59 |只看该作者
xkk1212 发表于 2018-4-6 20:11
class A:
    def __init__(self,a,b):
        self.a=int(a)

__init__ 不是手动调用的。就算调用,也不用加self。
看看课程里的例子
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

10

积分

新手上路

Rank: 1

62#
发表于 2018-4-7 16:24:49 |只看该作者
crossin先生 发表于 2018-4-7 13:22
__init__ 不是手动调用的。就算调用,也不用加self。
看看课程里的例子

好像有点明白了,我把顺序换了一下就可以了 但是我不太确定是不是我想的那种意思  谢谢老师了!
class A(object):
    def __init__(self,a,b):
        self.a=int(a)
        self.b=int(b)
    def add(self):
        print self.a+self.b


class B(A):
    def sub(a,b):
        A.__init__(self,a,b)   
        print self.a-self.b
count= B('4',5)
count.add()
回复

使用道具 举报

0

主题

0

好友

49

积分

新手上路

Rank: 1

63#
发表于 2018-4-20 11:30:31 |只看该作者
xkk1212 发表于 2018-4-7 16:24
好像有点明白了,我把顺序换了一下就可以了 但是我不太确定是不是我想的那种意思  谢谢老师了!
class A ...

class A():
    def __init__(self,a,b):
        self.a = int(a)
        self.b = int(b)

    def add(self):
        print self.a+self.b

class B(A):
    def sub(self):
        print self.a-self.b

a = A(1,2)
a.add()
b = B(9,1)
b.sub()

B类完全继承了A类的init方法没有新的变量,是不是就不用再重新定义init了
回复

使用道具 举报

0

主题

0

好友

49

积分

新手上路

Rank: 1

64#
发表于 2018-4-20 14:17:15 |只看该作者
找到了几个练习的小程序,链接:https://blog.csdn.net/bullpride/article/details/52022701
回复

使用道具 举报

0

主题

0

好友

6

积分

新手上路

Rank: 1

65#
发表于 2018-4-30 19:57:46 |只看该作者
本帖最后由 huangdog 于 2018-4-30 20:00 编辑

感觉
类和实例化的关系

就像类是盐,实例化是碗,把盐放到不同的碗里,不同的碗做不同的事情

是这样吗?

=================
还有__init__  是不是参数池,将要用到的参数先在__init__定义?
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

66#
发表于 2018-5-1 15:56:51 |只看该作者
huangdog 发表于 2018-4-30 19:57
感觉
类和实例化的关系

差不多,我更喜欢用模具和做出来的东西打比喻

不是参数池,是初始化时候调用的函数。即使不在这里,在别的地方一样可以定义,只是这里更适合
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

36

积分

新手上路

Rank: 1

67#
发表于 2018-10-16 20:27:08 |只看该作者
这是我跑的代码,大概明白是什么意思,不过为什么说 Bike 这个类没有 drive 对象呢,这里好像是没有成功调用基类的方法吧

屏幕快照 2018-10-16 下午8.24.48.png (197.78 KB, 下载次数: 444)

代码

代码

回复

使用道具 举报

0

主题

0

好友

36

积分

新手上路

Rank: 1

68#
发表于 2018-10-16 20:34:24 |只看该作者
marvinmi 发表于 2018-10-16 20:27
这是我跑的代码,大概明白是什么意思,不过为什么说 Bike 这个类没有 drive 对象呢,这里好像是没有成功调 ...

报错提示

屏幕快照 2018-10-16 下午8.28.25.png (12.68 KB, 下载次数: 434)

报错描述

报错描述

回复

使用道具 举报

0

主题

0

好友

36

积分

新手上路

Rank: 1

69#
发表于 2018-10-17 15:31:10 |只看该作者
marvinmi 发表于 2018-10-16 20:34
报错提示

抱歉,低级错误,已经解决了,谢谢crossin老师
回复

使用道具 举报

0

主题

0

好友

22

积分

新手上路

Rank: 1

70#
发表于 2018-10-20 22:32:36 |只看该作者
self.speed = speed 是什么意思?去初始化怎么理解呢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-22 07:34 , Processed in 0.016905 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部