初识面向对象

面向过程和面向对象的区别

面向过程:
面向过程的核心是过程,过程就是指解决问题的步骤。
面向对象:
面向对象的核心是对象,是一个特征和功能的综合体。

类与对象
类:类是对象的一个抽象的概念
对象(实例):对象就是由类的创建的实例
类和对象的关系就是 模具与铸件的关系
类是由对象总结而来的,总结的这个过程叫做抽象;对象是由类具体实施出来的,这个过程叫做实例化。
如何创建一个类,通过class关键字来定义一个类,类中需要声明属性和方法。
成员属性和成员方法的操作
成员属性:
访问: 对象.成员属性名
修改: 对象.成员属性名法 = 新值。(此时等于给这个对象创建了一个自己的属性)
添加: 对象.新成员属性 = 值 (此时是给这个对象自己新建了一个属性)
删除: del 对象.成员属性 (注意:只能删除这个对象自己的属性)
成员方法:
访问: 对象.成员方法名()
修改: 对象.成员方法名 = func(此时等于给这个对象创建了一个自己的方法)
添加: 对象.方法名 = func (此时是给这个对象自己新建了一个方法)
删除: del 对象.方法名 (注意:只能删除这个对象自己的方法)
不推荐使用类操作成员方法和属性!!
小结:

  1. 一个类可以实例化出多个对象,每个对象在内存中都独立存在的
  2. 当通过类实例化对象时,并不会把类中的成员复制一份给对象,而去给对象了一个引用
  3. 访问对象成员的时候,如果对象自己没有这个成员,对象会向实例化它的类去查找
    4.对象成员的添加和修改,都只会影响当前对象自己,不会影响类和其它对象
    5删除对象的成员时,必须是该对象自己具备的成员才可以,不能删除类中引用的成员
    6.对类的成员操作,会影响通过这个类创建的对象,包括之前创建的。
    方法的分类
    含有self或者可以接受对象作为参数的方法: 非绑定类方法(可以使用对象去访问)
    不含self或者不能接受对象作为参数的方法:绑定类方法(只能通过类去访问)
    魔术方法
    魔术方法也和普通方法一样都是类中定义的成员方法
    魔术方法不需要去手动调用的,魔术方法会在某种情况下,自动触发(自动执行)
    魔术方法还有一个比较特殊的地方:就是多数的魔术方法 前后都有两个连续的下划线
    魔术方法不是我们自己定义的,而是系统定义好的,我们来使用
    面向对象的三大特性:封装,继承,多态
    封装:
    封装就是使用特殊的语法,对成员属性和成员方法进行包装,达到保护和隐藏的目的,被封装的成员主要是供类的内部使用,被特殊语法封装的成员,会有不同的访问的权限.
    继承:
    在面向对象中,一个类去继承父类,那么这个类就拥有了父类中的所有成员(除了私有成员).被其它类继承的类,这个类称为 父类 也叫做 基类 或者 超类,继承其它类的类,这个类称为 子类,也叫做 派生类。其意义是提高代码的重用性,建立新的类与类的关系,方便其它逻辑的操作。
    类关系检测 issubclass()。
    多态:
    对于同一个方法,由于调用的对象不同(或者传入的对象不同),最终实现了不同的结果。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值