请选择 进入手机版 | 继续访问电脑版

湖南新梦想

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 465|回复: 0

面向对象2

[复制链接]

18

主题

18

帖子

113

积分

注册会员

Rank: 2

积分
113
发表于 2022-8-28 22:00:22 | 显示全部楼层 |阅读模式
1、类的属性和方法
类的属性:
类属性:定义在类里面进行初始化;每一个对象都有这个属性,且属性值相同
        可以使用类名或者对象名进行引用
file:///C:/Users/111/AppData/Local/Temp/ksohtml23696/wps1.jpg
file:///C:/Users/111/AppData/Local/Temp/ksohtml23696/wps2.jpg
实例(对象)属性:是所有对象都拥有的属性,但是属性值不相同,一定有self.XXX
                 __init__()中进行初始化
   file:///C:/Users/111/AppData/Local/Temp/ksohtml23696/wps3.jpg
   file:///C:/Users/111/AppData/Local/Temp/ksohtml23696/wps4.jpg
内置属性:系统定义的属性, 双下划线开头和结尾
__doc__
类的方法:
类方法:
定义: 类方法的前面要有一个装饰器@classmethod,函数参数的第一个关键参数cls
作用:为了修改类属性值
调用: 可以使用类名和对象进行调用
file:///C:/Users/111/AppData/Local/Temp/ksohtml23696/wps5.jpg
file:///C:/Users/111/AppData/Local/Temp/ksohtml23696/wps6.jpg
实例方法:
     定义:没有装饰器,但是第一个参数self
     作用:实现对象要有的功能
     调用:只能用对象调用
静态方法:
定义:必须装饰器@staticmethod,没有特别参数
     作用:实现一定功能
     调用:能用类和对象调用
内置方法:
调用: 系统自动调用
定义:如果用户没有定义,由系统提供,用户可以自行定义,名字一定与系统给的一置
         构造方法: __init__()
             作用:给对象属性赋初始值 ----》给对象申请内存
             调用:只在创建对象的时候被调用
         析构方法: __del__()
             作用:释放内存空间
             调用:删除对象或者程序运行结束的时候调用
         自定义显示对象: __str__()
              系统显示对象时,默认显示的是对象在内存中的地址,没有太多的参考意义
file:///C:/Users/111/AppData/Local/Temp/ksohtml23696/wps7.jpg
              想自定义显示的格式:__str__()
              调用:print()对象的时候自动调用
file:///C:/Users/111/AppData/Local/Temp/ksohtml23696/wps8.jpg
         两个对象相加: __add__()
红球 1-33  每一次6个 不能重复
蓝球 1-16  每一次1
面向对象三大特征:封装,继承,多态
1、为什么封装?
       要把数据的属性和方法封装到类中,隔离代码的复杂度
       把对象的属性设置为私有,保护数据的隐私 --->类的使用者可以轻易改变属性的值,不安全--对变量的处理(查看变量的值,修改变量的修改)
2、如何实现封装?
第一层面的封装:创建类和对象时,分别创建两者的名称空间。只能通过类名加.”或者obj.的方式访问里面的名字
第二层面的封装,类中把某些属性和方法隐藏起来,或者定义为私有,只在类的内部使用,在类的外部无法访问,或者留下少量的接口(函数)供外部访问
3、为什么会有继承?
指可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。
4、继承的语法,原则?
    继承有条件:必须先要有一个类---先有的类---父类,基类   继承类---子类,派生类
父类---》子类---》子子类
Class 子类名(父类名):
     子类体

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|湖南新梦想 ( 湘ICP备18019834号-2 )

GMT+8, 2023-6-2 12:40 , Processed in 0.039517 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表