首页 > 其他分享 >面向对象周总结

面向对象周总结

时间:2022-11-06 14:34:40浏览次数:40  
标签:总结 功能 函数 继承 面向对象 对象 数据

目录

面向对象周总结

人狗大战

面向对象核心思路

封装一个人的函数
封装一个狗的函数
让人才能调用人的函数内的数据和方法
让狗才能调用狗的函数内的数据和方法
就是想引出面向对象的核心思想:
数据与功能的绑定

编程思想

面向过程编程:按照固定的流程解决问题
eg:到ATM之前,我们都是面向过程编程 注册功能 登录功能
面向对象编程:对象即容器 数据与功能的结合体 就像游戏角色,我们只创建对象,对象结果怎么样看别人怎么用

面向对象类与对象

对象:数据与功能的结合体		对象才是核心
类:多个对象相同数据和功能的结合体		类主要是为了节省代码
程序中想要产生对象 必须先定义出类

类与对象的创建

1.类的语法结构
calss 类名:
    '''代码注释'''
    对象公共的数据
    对象公共的功能
    1.class是定义类的关键字
    2.类名的命名与变量名几乎一致 需要注意首字母推荐大写用于区分
    3.数据:变量名与数据值的绑定 功能(方法)其实就是函数
2.类的定义与调用
	类在定义阶段就是执行类体代码 s1 = 类名()产生对象

对象独有的数据

    # 对象公共的数据
    school_name = '清华大学'
    # 专门给学生添加独有数据的功能 变成__init__之后类产生对象的过程中自动触发

对象独有的功能

 # 对象公共的功能
    def choice_course(self):
        print(f'学生{self.name}正在选课')
# 1.直接在全局定义功能 该函数就不是学生对象独有的了
# 2.只能将函数放在类中 但是类中的函数又是对象公共的
'''定义在类中的功能 默认就是绑定给对象使用的 谁来调谁就是主人公'''

动静态方法

1.类中直接定义函数 默认绑定给对象 类调用几个参数传几个 对象调用第一个参数就是对象自身
2.@classmethod修饰的函数 默认绑定给类 类调用第一个参数就是类自身 对象也可以调用并且会自动产生该对象的类当做第一个参数传入
3.普通的函数 无论类还是对象调用 都必须自己手动传参

面向对象继承的概念

1.继承就是指子类可以使用父类里的所有数据和方法
3.继承的实操
	class Son(Father):
        pass
    1.在定义类的时候类名后面可以加括号填写其他类名 意味着继承其他类
    2.在python支持多继承 括号内填写多个类名彼此逗号隔开即可
    class Son(F1, F2, F3):
        pass

继承的本质

对象:数据和功能的结合体
类(子类):多个对象相同数据和功能的结合体
父类:类与父类的本质都是为了节省代码

继承的本质应该分为两部分
	抽象:将多个类相同的东西抽出去形成新的类
    继承:将多个类继承刚刚抽取出来的新的类

名字的查找顺序

1.单继承:先在对象名称空间内找,再去类里找
2.多继承:从左往右,如果遇到菱形就先广度优先,再找最后的那个;度过不是菱形,深度优先,一直找到底

经典类与新式类

经典类:不继承object或者其子类的类
新式类:继承object或者其子类的类
	在python2中有 经典类和新式类
	在python3中只有新式类(所有类默认都继承object)

派生方法

# 子类基于父类某个方法做了扩展

标签:总结,功能,函数,继承,面向对象,对象,数据
From: https://www.cnblogs.com/zpf1107/p/16862542.html

相关文章

  • 11.6总结
    内容回顾面向对象之类与对象对象独有的数据功能(属性,方法)编程思想动静态方法继承的概念/本质名字查找顺序经典类与新式类派生方法1.类与对象面向对象编程的主题......
  • 2022-2023 20221410《计算机基础与程序设计》第十周学习总结
    学期(2022-2023-1)学号(20221410)《计算机基础与程序设计》第十周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2022-2023-1-计算机基础与程序设计)这个作......
  • 本周总结(11.06)
    本周主要完成了老年病的页面原型,软件开发案例的一些WinForm界面。完成了Redis的基础学习。下周计划:1、尽力完成一份自己的简历2、继续学习算法,Leetcode刷题3、自己的博......
  • 信创服务器操作系统总结
    第一部分摘要自从提出没有网络安全就没有国家安全之后信创操作系统的发展进入了快车道.流行的操作系统主要分为如下几个大方面:1.宣称二进制兼容CentOS的部分系列:......
  • MySQL索引开发中可能会用到的知识总结
    索引 适合建立索引建立索引之后,在B+树中的记录是排序好的,所以频繁使用orderby和group的字段可以建立索引,同时唯一性限制的字段也适合建立索引,比如商品编码经......
  • 2022-2023-1 20221425 《计算机基础与程序设计》第十周学习总结
    学期(如2022-2023-1)学号(如:20221425)《计算机基础与程序设计》第十周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2022-2023-1-计算机基础与程序设计)这......
  • 2022-2023-1 20221306 《计算机基础和程序设计》第十周学习总结
    作业信息这个作业属于那个班级 https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP作业要求 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK10作业目标学习......
  • 网络组件cailco总结
    一、Calico简介1.1、calico特性   Calico是另一款主流的开源虚拟化网络方案,用于为云原生应用实现互联与策略控制,可以整合进大多数主流的编排系统,例如Kubernetes......
  • 进组三个月学习总结
    时间过得真快啊不知不觉已经进组三个月了这三个月我干了什么呢1.读文献2.学习强化学习知识7.24进组那一天我什么都不懂不懂什么是文献什么是论文什么......
  • 2022-2023-1 20221322《计算机基础与程序设计》第十周学习总结
    作业信息这个作业属于哪个课程<班级的链接>(2022-2023-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(2022-2023-1计算机基础与程序设计第十周作业......