当前位置: 首页 > news >正文

张氏万家网站建设合肥做网站公司

张氏万家网站建设,合肥做网站公司,wordpress教育培训,系统开发费用计入什么科目七、类的继承 1、定义类的继承 说到继承,你一定会联想到继承你老爸的家产之类的。 类的继承也是一样。 比如有一个旧类,是可以算平均数的。然后这时候有一个新类,也要用到算平均数,那么这时候我们就可以使用继承的方式。新类继…

七、类的继承

1、定义类的继承

说到继承,你一定会联想到继承你老爸的家产之类的。

类的继承也是一样。

比如有一个旧类,是可以算平均数的。然后这时候有一个新类,也要用到算平均数,那么这时候我们就可以使用继承的方式。新类继承旧类,这样子新类也就有这个功能了。

通常情况下,我们叫旧类为父类,新类为子类。

首先我们来看下类的继承的基本语法:

class ClassName(BaseClassName):<statement-1>...<statement-N>

在定义类的时候,可以在括号里写继承的类,如果不用继承类的时候,也要写继承 object 类,因为在 Python 中 object 类是一切类的父类。

当然上面的是单继承,Python 也是支持多继承的,具体的语法如下:

class ClassName(Base1,Base2,Base3):<statement-1>...<statement-N>

多继承有一点需要注意的:若是父类中有相同的方法名,而在子类使用时未指定,python 在圆括号中父类的顺序,从左至右搜索 , 即方法在子类中未找到时,从左到右查找父类中是否包含方法。

那么继承的子类可以干什么呢?

继承的子类的好处:

  • 会继承父类的属性和方法
  • 可以自己定义,覆盖父类的属性和方法

2、调用父类的方法

一个类继承了父类后,可以直接调用父类的方法的,比如下面的例子,UserInfo2 继承自父类 UserInfo ,可以直接调用父类的 get_account 方法。

#!/usr/bin/env python
# -*- coding: UTF-8 -*-class UserInfo(object):lv = 5def __init__(self, name, age, account):self.name = nameself._age = ageself.__account = accountdef get_account(self):return self.__accountclass UserInfo2(UserInfo):passif __name__ == '__main__':userInfo2 = UserInfo2('两点水', 23, 347073565);print(userInfo2.get_account())

3、父类方法的重写

当然,也可以重写父类的方法。

示例:

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-class UserInfo(object):lv = 5def __init__(self, name, age, account):self.name = nameself._age = ageself.__account = accountdef get_account(self):return self.__account@classmethoddef get_name(cls):return cls.lv@propertydef get_age(self):return self._ageclass UserInfo2(UserInfo):def __init__(self, name, age, account, sex):super(UserInfo2, self).__init__(name, age, account)self.sex = sex;if __name__ == '__main__':userInfo2 = UserInfo2('两点水', 23, 347073565, '男');# 打印所有属性print(dir(userInfo2))# 打印构造函数中的属性print(userInfo2.__dict__)print(UserInfo2.get_name())

最后打印的结果:

这里就是重写了父类的构造函数。

4、子类的类型判断

对于 class 的继承关系来说,有些时候我们需要判断 class 的类型,该怎么办呢?

可以使用 isinstance() 函数,

一个例子就能看懂 isinstance() 函数的用法了。

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-class User1(object):passclass User2(User1):passclass User3(User2):passif __name__ == '__main__':user1 = User1()user2 = User2()user3 = User3()# isinstance()就可以告诉我们,一个对象是否是某种类型print(isinstance(user3, User2))print(isinstance(user3, User1))print(isinstance(user3, User3))# 基本类型也可以用isinstance()判断print(isinstance('两点水', str))print(isinstance(347073565, int))print(isinstance(347073565, str))

输出的结果如下:

True
True
True
True
True
False

可以看到 isinstance() 不仅可以告诉我们,一个对象是否是某种类型,也可以用于基本类型的判断。

http://www.yayakq.cn/news/114371/

相关文章:

  • 厦门网站建设技术支持公司做公司网站宣传
  • 网站建设服务商排行淘宝联盟推广做网站违法
  • 网络宣传网站建设制作phpcms企业网站源码
  • 阳光家园广州网站网址网站开发高级工程师专业
  • 便宜的vps租用网站做网站优化的协议书
  • 网站开发流程前端郑州网站设计制作价格
  • 会展网站建设成功的原因网页与网站设计什么是主题
  • 缙云做网站seo快排技术教程
  • 有关做洁净工程的企业网站建设自己的网站怎么做
  • 之江汇学校网站建设湖南建设网塔吊证查询
  • 郑州网站seo诊断杭州网站设计网站
  • 班级网站设计房屋平面设计软件手机版
  • 德州网站建设自己做的网站显示不出来
  • 外协加工网最新订单兰州网络优化seo
  • 德网站建设网站建设属不属于无形资产
  • 网站的功能包括哪些内容那个网站可以做恒指 买涨买跌
  • 芜湖市建设工程质量监督站网站给网站做路由
  • 索牛网站建设制作彩页用什么软件
  • 2019年做网站网易企业邮箱1
  • 深圳服饰网站建设wordpress做注册登陆界面
  • 苏州做网站知识的分享域名注册查询入口
  • 网站地图 百度建工作室网站
  • 世安建设有限网站深圳市布尔工业设计有限公司
  • 安徽省城乡和建设厅网站微信企业app下载安装
  • 深圳网站建设vr知识苏州公司网站
  • 网站改版建设公司菜鸟教程wordpress模板
  • 网站空间分类wordpress 会员开卡消费
  • p2p贷款网站开发个人主机做网站
  • 做网站论文wordpress 4.7.9
  • 网站开发业务流程图怎样做简单公司网站