面向对象上

1:什么是面向对象

  • python是一门面向对象的高级语言
  • 面型对象是一种编程的思想,在面向对象的编程中所有的事物都是一个对象
  • 所谓面向对象的语言,简单理解就是语言中的所有操作都是通过对象来进行的

1.2:编程思想

1.2.1:面向过程的编程思想

  • 通过一个个函数来实现要求
  • 面向过程指将我们的程序分解为一个一个步骤,通过对每个步骤的抽象来完成程序
    这种编写方式往往只适用于一个功能,如果要实现别的功能,往往复用性比较低
    这种编程方式符号人类的思维,编写起来比较容易
  • 简单的理解,面向对象编程可以认为是一个“执行者”

1.2.2:面向对象编程

  • 通过一个个的类来实现要求
  • 只关注对象,不关注过程
  • 比如:家里由一辆车,面向对象编程就是,我只要知道这台车的功能就好了,至于怎么实现这些功能则不关心
  • 简单的理解,面向对象编程可以认为是一个“指挥者”

2:面向对象编程的特点

  • 1:面向对象的编程语言,关注的是对象,而不注重过程,对于面向对象一切皆对象
  • 2:面向对象的编程思想,将所有功能统一保存到对应的对象中,要使用某个功能,直接找到对应的对象即可,假如一个小鸟的对象那么只要是一个小鸟的属性或者动作都可以使用小鸟类来实现
  • 3:这种编码方式比较容易阅读,并且易于维护,容易复用。但是编写的过程中不太符合常规的思维,编写相对麻烦

3:类

  • 类简单理解它就是相当于一个图纸,在程序汇总我们需要根据类来创建对象
  • 类就是对象的图纸
  • 我们也称对象是类的实例(instance)
  • 如果多个实例对象是通过一个类创建的,我们称这些实例对象是一类对象
  • 我们目前学习的都是Python的内置对象,但是内置对象并不都能满足我们的需求,所以我们在开发中经常要自定义一些对象

3.1:类的使用方法

  • 类也是一个对象,类就是用来创建对象的对象
  • 类相当于一个模板,所用的实例化对象都是由这个模板里面来创建的

3.2:isinstance()方法

  • 判断一个实例对象属不属于一个类

4:类的定义

  • 类和对象都是对现实生活中事物的抽象

4.1:定义类

  • 语法
class 类名(注意首字母要大写并且各单词之间不能使用下划线):

4.2:类的属性和方法

  • 类中定义的属性和方法都是公共的,任何该类实例都可以访问
  • 事物包含两部分
    1. 数据(属性):定义在类里面的变量,就叫做类的变量
    2. 行为(方法):定义在类里面的函数,就叫做类的方法
  • 属性和方法的查找流程:
    当我们调用一个对象的属性时,解析器会现在当前的对象中寻找是否还有该属性,如果有,则直接返回当前的对象的属性值。如果没有,则去当前对象的类对象中去寻找,如果有则返回类对象的属性值。如果没有就报错
  • 类对象和实例对象中都可以保存属性(方法):
    如果这个属性(方法)是所以的实例共享的,则应该将其保存到类对象中
    如果这个属性(方法)是摸个实例独有的。则应该保存到实例对象中
    一般情况下,属性保存到实例对象中 而方法需要保存到类对象中

4.3:类的属性

  • 可以在类中添加变量,类中的变量称之为属性
  • 定义类里面的变量(属性):
# 在Dog类里面定义狗的颜色为红色
class Dog():
    colour = "red"
  • 调用属性:
# 类的实例化    定义一个Dog类的实例化对象dog_1
dog_1 = Dog()
# 调用类的颜色属性
class Dog:
    colour = "red"


dog_1 = Dog
print(dog_1.colour)

4.4:类的方法

  • 可以在类里添加函数,类里面的函数称为方法
  • 定以类里的函数(方法):
class Dog():
    
     # 在类里面定义了一个方法,表示狗会跳
    def dog(self):
        print("跳")
  • 调用类里面的方法
# 类的实例化
dog_1 = Dog()

# 调用类里面的方法(跳)
dog_1.dog()

5:参数self

5.1:self参数的介绍

  • self在定义时需要定义,但是在调用时会自动传入。
  • self的名字并不是规定死的,但是最好还是按照约定是用self
  • self总是指调用时的类的实例

6:特殊方法

6.1:特殊方法是的定义

  • 在类中可以定义一些特殊方法也称为魔术方法

6.2:特殊方法的形式

  • 特殊方法都是形如 __xxx__()这种形式

6.3:特殊方法的好处

特殊方法不需要我们调用,特殊方法会在特定时候自动调用

7:类对象与实例对象

7.1:类对象

  • python 的一种数据结构,是用来描述一种具有特定属性和特定功能的一类事物的“容器”
  • 创建了一个类对象只是在内存的地址里面开创了一个空间,用来存储这个类对象所描绘的一类事物的综合表现

7.2:实例对象

  • 类对象的实例化,把类对象所描绘的物体具体的表现出来,实例对象具有类对象的所有属性和方法,所以说实例对象是类对象的实例化
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值