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

网站建设汇报ppt谷歌浏览器引擎入口

网站建设汇报ppt,谷歌浏览器引擎入口,简述网站开发设计流程图,重庆做网站做得好的公司专栏:python 个人主页:HaiFan. 专栏简介:Python在学,希望能够得到各位的支持!!! 关联与继承前言has a关联关系is a继承关系子类不添加__init__子类添加__init__前言 has a关联关系 has - a 是在…

专栏:python
个人主页:HaiFan.
专栏简介:Python在学,希望能够得到各位的支持!!!

关联与继承

  • 前言
  • has a关联关系
  • is a继承关系
    • 子类不添加__init__
    • 子类添加__init__

前言

在这里插入图片描述

has a关联关系

has - a 是在一个类中使用了另一种自定义的类型。

看代码

import randomclass Road:def __init__(self,name,len):self.name = nameself.len = lenclass Car:def __init__(self,brand,speed):self.brand = brandself.speed = speeddef get_time(self,road):ran_time = random.randint(1,10)msg = f'{self.brand}品牌的车在{road.name}上以{self.speed}速度行驶了{ran_time}个小时'print(msg)def __str__(self):return f'{self.brand}品牌的\n速度{self.speed}'r = Road('nb',111)c = Car('shangtian',130)print(c)c.get_time(r)

这个代码中的 get_time中的road和r是一样的,指向同一块空间,如果在传参的时候,不传r对象,那么,get_time里面是没有name这个属性的,r可以.调用属性,road.也可以调用属性
在这里插入图片描述


在这里插入图片描述
我把这个r对象中的name进行更改,因为r和road指向的是同一块空间,所以,r.name改变之后,road.name也会改变


  1. has a
    一个类中使用了另一种自定义类型就是关联关系
    如上面代码中c对象中的参数是r对象

is a继承关系

is - a简单来说就是继承关系,类的父子继承关系。

子类不添加__init__

在以后的开发过程中,我们会碰到很多情况,比如,让我们写多个类:医生类,学生类等等,在每一个类里面,都会写名字,性别,年龄等,一个一个的类写是比较繁琐的,在这里,Python给出了解决办法

class Student:def __init__(self,name,age):self.name = nameself.age = agedef eat(self):print(f'{self.name}正在吃饭')class Doctoe:def __init__(self, name, age):self.name = nameself.age = agedef eat(self):print(f'{self.name}正在吃饭')

这个代码中,有着很多重复的代码,并且这些类都有一个共同的特征,那么就可以提取出来他们共同的部分,写做一个类,将其共同的特征都写入这个类中。这个类就是父类

class Person:def __init__(self,name,age):self.name = nameself.age = agedef eat(self):print(f'{self.name}正在吃饭')class Student:passclass Doctoe:passa = Student()a.eat()

在创建出a对象之后,这个对象是找不到eat这个方法的。
因为Student类中为pass
那么,如何让提取出来的共同特征在下面的类中都能体现出来呢?

这就用到了继承关系,把人这一类称为父类,把属于人这一类的类,称为子类。

class 父名字:pass
class 类名(父类名字):pass

在这里插入图片描述
为什么在继承之后,还会出现阴影?子类继承父类后,会受到父类的影响,因为父类的__init__有name和age参数,所以子类中也有这两个参数,所以会出现阴影

class Person:def __init__(self,name,age):self.name = nameself.age = agedef eat(self):print(f'{self.name}正在吃饭')class Student(Person):passclass Doctoe(Person):passa = Student('lise',19)
a.eat()

在这里插入图片描述


我们创建一个类,默认继承是object,在Python3中,我们不写(object),默认继承object

我们知道,Python代码是依次执行的,所以再上面的代码中,会先通过__new__魔术方法开辟一段空间,然后把空间传给__init__.


这个__new__是object的,如果自己没有就会先去父类找,父类没有,就会去object找,再比如__init__,Student类里面是没有这个魔术方法的,那么就会先去父类找。

本层找不到,就去上层找

子类添加__init__

lass Person:def __init__(self):self.name = 'lisi'self.age = 19def eat(self):print(f'{self.name}正在吃饭')def run(self):print(f'{self.namme}正在跑步')class Student(Person):def __init__(self):print('-------init')class Employee(Person):passclass Doctor(Person):passa = Student()

在这里插入图片描述
创建a对象,然后运行代码,会打印出执行__init__的结果。

如果再加一个a.eat()呢?
在这里插入图片描述
这就错了。
在这里插入图片描述


那么,如何调用父类的 __init__呢?

这里我们用到了 super关键字

在这里插入图片描述

如何调用父类 __init__

  1. super(). __init__(参数)
  2. super(类名,对象).__init__(参数)
class Person:def __init__(self):self.name = 'lisi'self.age = 19def eat(self):print(f'{self.name}正在吃饭')def run(self):print(f'{self.namme}正在跑步')class Student(Person):def __init__(self):print('-------init')super().__init__()
class Employee(Person):passclass Doctor(Person):passa = Student()

在这里插入图片描述


在这里插入图片描述


  1. 如果类中不定义 __init__,就调用父类的 __init__

  2. 如果类继承父类也需要定义自己的 __init__,就需要在当前类的 __init__调用一下父类 __init__

  3. 如何调用父类 __init__

    1. super(). __init__(参数)
    2. super(类名,对象).__init__(参数)
  4. 如果父类有eat(),子类也定义一个eat方法,默认搜索原则:先找当前类,再去找父类。

    父类提供的方法不能满足子类的需求,就需要在子类中定义一个同名的方法,这种行为叫做:重写 override\

  5. 子类的方法中也可以调用的父类的方法,

    super().eat()

http://www.mmbaike.com/news/28599.html

相关文章:

  • 做pc端网站机构网站建设 网站制作
  • 网站建设 商城南昌网站建设
  • 怎样做禁毒网站的试卷品牌网络推广
  • 统一汤达人选择她做汤面活动网站营销策划公司名字
  • 大型公司为什么做网站福州seo网站推广优化
  • 上海南站网站建设公司淘宝seo具体优化方法
  • 政府网站建设功能seo网站推广工具
  • 网站的集约化建设网站管理与维护
  • 电商网站建设讯息官网seo怎么做
  • 深圳网站建设开发公司哪家好今日军事新闻视频
  • 杭州网站建设专家深圳纯手工seo
  • 铁路专业简历制作西安seo外包平台
  • 邢台做网站推广的公司高级seo课程
  • 像百度重新提交网站优化关键词是什么意思
  • 怎么做蒙文网站苏州网络推广服务
  • 网站开发的基本流程文库互动营销的案例有哪些
  • 网站对联广告图片网店产品seo如何优化
  • 做本地网站能赚钱么百度搜索关键词排名人工优化
  • 做汽车网站怎么挣钱吗上海外包seo
  • 做搜索引擎优化对网站有哪些好处产品宣传推广策划
  • 湘潭做网站 就问磐石网络推广工具有哪些
  • 深圳市网站建设公司设计网络推广需要花多少钱
  • 网站域名分类代刷网站推广链接免费
  • 广州做网站地方软件开发公司
  • 网站动态页面怎么做十大新媒体平台有哪些
  • magento做预订类网站网络服务平台
  • php网站开发实用技术答案北京seo专业团队
  • 枣庄公司网站建设2021百度最新收录方法
  • 建设网站预算百度平台营销宝典
  • 雄安移动网站国外产品推广平台