面向对象基础

一、理解面向对象

  面向对象就是将编程当成是一个事物,对外界来说,事物是直接使用的,不用去管它内部的情况。而编程就是设置事物能够做什么事。

二、类和对象

  在面向对象编程过程中,有两个重要组成部分:类和对象

  类和对象的关系:用类去创建一个对象。

  2.1 理解类和对象

  2.1.1 类

    类是对一系列具有相同特征和行为的事物的统称,是一个抽象的概念,不是真是存在的事物。

      特征既是属性 -- 变量

      行为既是方法 -- 函数

  2.1.2 对象

    对象是类创建出来的真是存在的事物。

      注意:开发中,先有类,再有对象。

  2.2 面向对象实现方法

  2.2.1 定义类

    python中类分为:经典类和新式类

    语法:

      class  类名():

        代码

    注意:类名要满足标识符命名规则,同时遵循大驼峰命名习惯。

  2.2.2 创建对象

    对象又名实例

    语法:

      对象名 = 类名()

    创建对象的过程也叫实例化对象。

  体验:

# 需求:洗衣机, 功能:洗衣服
# 1. 定义洗衣机类
"""
class 类名():
    代码
"""

class Washer():
    def wash(self):
        print('能洗衣服')


# 2. 创建对象
# 对象名 = 类名()

haier = Washer()

# 3. 验证
# 打印haier对象
print(haier)
# 使用wash功能 -- 实例方法/对象方法 -- 对象名.wash()
haier.wash()

   2.2.3 self

    self指的是调用该函数的对象。

# 类:洗衣机 功能:洗衣服
class Washer():
    def wash(self):
        print('洗衣服')
        # <__main__.washer object at 0x0000027943FD2CB0>
        print(self)

haier = Washer()
# <__main__.washer object at 0x0000027943FD2CB0>
print(haier)

# 调用实例方法
# <__main__.washer object at 0x0000027943FD2CB0>
haier.wash()

# 由于打印对象和打印self得到的内存地址相同,所以self指的是调用该函数的对象

  一个类创建多个对象

# 1. 一个类可以创建多个对象; 2. 多个对象都调用函数的时候,self地址是否相同
class Washer():
    def wash(self):
        print('洗衣')
        print(self)

haier = Washer()
haier.wash()

haier1 = Washer()
haier1.wash()

  注意:打印对象self得到的结果是一致的,都是当前对象的内存中存储地址。

三、添加和获取对象属性

  属性既是特征

  对象属性既可以在类外面添加和获取,也能在类的里面添加和获取。

  3.1 类外面添加属性

    语法:对象名 . 属性名 = 值

    体验:

class Washer():
    def wash(self):
        print('洗衣服')
        
haier1 = Washer()

# 添加属性  对象名 . 属性名 = 值
haier1.width = 400
haier1.height = 800

  3.2 类外面获取对象属性

    语法:对象名.属性名

    体验:

class Washer():
    def wash(self):
        print('洗衣服')

haier1 = Washer()

# 添加属性  对象名 . 属性名 = 值
haier1.width = 400
haier1.height = 800

# 获取属性  对象名.属性名
print(f'洗衣机的宽度是{haier1.width}')
print(f'洗衣机的高度是{haier1.height}')

  3.3 类里面获取对象属性

    语法:self.属性名

    体验:

class Washer():
    def wash(self):
        print('洗衣服')

    # 类里面获取实例属性
    def print_info(self):
        # self.属性名
        # print(self.width)
        print(f'洗衣机的宽度是{self.width}')
        print(f'洗衣机的高度是{self.height}')

# 创建对象
haier1 = Washer()

# 添加属性
haier1.width = 400
haier1.height = 800

# 对象调用实例方法
haier1.print_info()

 

posted @ 2022-11-17 23:36  㞢卄BYZ  阅读(16)  评论(0编辑  收藏  举报