继承简介|学习笔记

简介: 快速学习 继承简介

开发者学堂课程【Python 语言基础 3:函数、面向对象、异常处理继承简介】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/601/detail/8750


继承简介


目录:

一、继承的定义

二、范例

 

一、继承的定义

继承的定义有一个类,能够实现需要的大部分功能,但是不能实现全部功能

继承能让这个类来实现全部的功能

让类来实现全部的功能的方法

①直接修改这个类,在这个类中添加我们需要的功能

修改起来会比较麻烦,并且会违反 0CP 原则

②直接创建个新的类

创建个新的类比较麻烦,并且需要大量的进行复制粘贴,会出现大量的重复性代码

③直接从 Animal 类中来继承它的属性和方法

·继承是面向对象三大特性之

·通过继承我们可以使一个类获取到其他类中的属性和方法

·在定义类时,可以在类名后的括号中指定当前类的父类(超类、基类、super)

·子类(衍生类)可以直接继承父类中的所有的属性和方法

·通过继承可以直接让子类获取到父类的方法或属性,避免编写重复性的代码,并且也符合 0CP 原则

·所以我们经常需要通过继承来对一个类进行扩展

 

二、范例

直接修改这个类,在这个类中添加我们需要的功能定义一个类 Animal( 动物)

这个类中需要两个方法:run()sleep()

Class Animal:

Def run(self):

print("动物会跑~~~)

Def sleep(self):

print(动物睡觉~~~)

# def l bark(self):

print('动物嚎叫~~~')

直接创建个新的类

定义一个类 Dog (狗)

这个类中需要三个方法:run()sleep()bark()

Class Dog:

Def run(self):

print('狗会跑~~~)

Def sleep(self):

print('狗睡觉~~~')

Def bark(self):

print('汪汪汪~~~')

代码

直接从 Animal 类中来继承它的属性和方法

Class Dog(Animal):

def bark(self):

print('汪汪汪~~~')

Class Hashiqi(Dog):

def fang_sha(self):

print('我是一只傻傻的哈士奇")

 

d=Dog()

h=Hashigi()

d.run()

d.sleep()

d.bark()

r=isinstance(d,Dog)

r=isinstance(d,Animal)

print(r)

在创建类时,如果省略了父类,则默认父类为 object

object 是所有类的父类,所有类都继承自 object

class Person(object):

pass


issubclass() 检查一个类是否是另一个类的子类 print(issubclass(Animal,Dog))

print(issubclass(Animal ,object))

print(issubclass(Person ,object))

isinstance() 用来检查一个对象是否是一个类的实例#如果这个类是这个对象的父类,也会返回 True

所有的对象都是 object 的实例

print(isinstance(print,objcst))

相关文章
|
存储 Java 数据安全/隐私保护
解放配置之道:Spring引入外部属性文件
【4月更文挑战第20天】
268 0
|
定位技术 API 开发工具
iOS测试技巧:GPX文件修改经纬度(com.apple.dt.simulatelocation)
iOS测试技巧:GPX文件修改经纬度(com.apple.dt.simulatelocation)
2125 0
iOS测试技巧:GPX文件修改经纬度(com.apple.dt.simulatelocation)
|
4月前
|
消息中间件 人工智能 缓存
Go与Java Go和Java微观对比
本文对比了Go语言与Java在线程实现上的差异。Go通过Goroutines实现并发,使用`go`关键字启动;而Java则通过`Thread`类开启线程。两者在通信机制上也有所不同:Java依赖共享内存和同步机制,如`synchronized`、`Lock`及并发工具类,而Go采用CSP模型,通过Channel进行线程间通信。此外,文章还介绍了Go中使用Channel和互斥锁解决并发安全问题的示例。
263 0
|
11月前
|
数据采集 人工智能 算法
Seer:上海 AI Lab 与北大联合开源端到端操作模型,结合视觉预测与动作执行信息,使机器人任务提升成功率43%
Seer是由上海AI实验室与北大等机构联合推出的端到端操作模型,结合视觉预测与动作执行,显著提升机器人任务成功率。
469 20
Seer:上海 AI Lab 与北大联合开源端到端操作模型,结合视觉预测与动作执行信息,使机器人任务提升成功率43%
|
11月前
|
人工智能 弹性计算 运维
ECS控制台,AI助手与极简管控体验
本文介绍了ECS控制台的演进及最新AI工具功能。控制台作为运维平台,需兼顾用户体验、可靠性和安全性。针对不同用户(个人开发者、企业级用户、资源管理员和架构师),控制台提供了定制化AI助手,涵盖售前选型、售中购买、售后运维等全链路支持。AI助手可智能分析用户需求,推荐合适规格,并提供实例诊断、命令解释等功能,简化操作流程。此外,还推出了简洁版控制台,优化了小资源量用户的使用体验,减少复杂度,提升效率。未来,控制台将朝着更智能、个性化的chat ops方向发展。
|
传感器 自动驾驶 机器人
激光雷达传感器介绍
激光雷达传感器介绍
512 2
|
机器学习/深度学习 PyTorch TensorFlow
Python实现深度学习学习率指数衰减的方法与参数介绍
学习率指数衰减提供了一种高效的动态调整学习率的手段,帮助模型在不同训练阶段以不同的学习速度优化,有利于提升模型性能和训练效率。通过合理设置衰减策略中的参数,可以有效地控制学习率的衰减过程,实现更加精确的模型训练调优。
608 0
|
监控 网络协议 算法
|
前端开发 JavaScript 容器
vue3实现文字垂直滚动
vue3实现文字垂直滚动
488 5