面向对象入门

面向对象

面向对象:编程思维

python一切皆对象

17.1 面向对象思想

编程思维2种

  1. 面向过程

    代表语言:C语言
    优点:对于小型程序开发效率非常高
    缺点:不适应当前的主流大型项目
    

    当需要解决一个问题的时候,更关注开发的每一个步骤的细节完成(过程)

    雷军造车:从头到尾造车,需要自己设计制作每个零件,从发动机到轮胎,所有步骤都自己亲自完成

    实现:依赖函数实现

  2. 面向对象

    代表语言:Java、c++、python
    

    当你需要解决一个问题的时候,不太考虑中间思想,更关注是谁能够帮你完成这个事情

    雷军造车:只需要有一个设计图,思考的只是把这些零件组装起来,而不是每个零件你都自己去思考

    实现:封装/继承/多态(三大特性)

  • 总结
    • 面向对象和面向过程就是2种编程思维,编程思维其实就是解决问题的2种套路

17.2 类和对象

17.2.1 对象(object)

对象:是一个客观具体的事物

Python一切皆是对象 : 对象本质上是一个 ‘容器’ 用来存储数据(变量,函数)

17.2.2 类

类的作用

  • 归类,把对象的共同属性抽象出来作为一个蓝图
  • 解决不同对象 存储相同数据的问题

类的目的:节省空间+分类

创建类的语法

class 类名:
    属性(数据)
    方法(功能)

17.2.3 类和对象创建和使用

使用面向对象去编程实现,需要通过2个步骤

  1. 定义类
  2. 根据类去实例化(创建)一个对象,通过这个对象去调用执行操作

类的组成

  • 类由2个部分组成
    • 属性(数据)
      • 共同特征:用于描述类的具体数据
      • 比如狗的名字、品种。
    • 方法(功能)
      • 共同行为:用于定义类能做什么事情
      • 比如狗坐下、狗叫、捡东西
class 类名:
    属性
    
    # 方法
    def 方法名(self,...):
        ....
# 类的创建
class Dog:
    def __init__(self):
        print("创建了新的狗")
    def call(self):
        print("汪汪汪...")
    def sit(self):
        print('坐下了....')
    def fetch(self,item):
        print(f'捡回了 {item}')

# 类() 基于这个类 ,创建一个对象   (创建该类的实例)
d1 = Dog() # 创建对象 d1

d1.sit()

17.2.4 __init__构造方法 (魔法方法)

魔法方法:基本不需要手动去执行,都是在程序中自动被触发

init方法什么时候执行?当实例化类创建对象的时候,他就会被自动执行

对象 =() # 创建一个对象的时候,自动执行Init方法

17.2.5 self与对象属性

self: 自己

python中的self: 表示 示例对象自己,对象在调用方法的时候,方法中的self代表当前调用这个方法的对象

对象属性:定义到init方法中

语法规则
def __init__(self):
    self.属性名1 = 值
    self.属性名2 = 值
后续别的方法想用对象的独特属性只需要直接
def get_info(self):
    print(self.属性名1)
    print(self.属性名2)
# 类的创建
class Dog:
    def __init__(self,name,age):
        # self 是用来区分对象的,什么对象调用方法,self就是哪个对象
        self.name = name
        self.age = age
    # 查看所有对象的属性
    def get_info(self):
        print(f"""  对象属性
            self.name : {self.name}
            self.age  : {self.age}
        """)
    def call(self):
        print("汪汪汪...")
        print("self:",self)
小黑 = Dog('小黑',5)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值