欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

什么是类、什么是对象

程序员文章站 2022-06-04 15:10:25
...

1.什么是类、什么是对象
"""

  1. 官方定义
    类就是拥有相等功能和相同的属性的对象的集合 -- 抽象的
    对象就是类的实例 -- 具体
  2. 生活角度看类和对象
    如果人是类,余婷就是对象、骆昊也是对象
    如果电脑是类,我桌上的这两台电脑就是对象
    """

2.类的声明
"""
1)语法
class 类名:
类的内容

2)说明
class - 声明类的关键字
类名 - 标识符,不能是关键字
见名知义,采用驼峰式命名(采用通过单词首字母大写的方式来区分不同的单词),首字母大写
: - 固定写法
类的内容 - 主要包含: 类的说明文档、属性(普通的变量)、功能(函数/方法)

"""
3.对象怎么声明
"""

对象 = 类() - 创建指定的类对应的对象

"""

4.类中的方法
"""

1) 什么是方法:声明在类中的函数就叫方法
2) 类中的方法有三种:对象方法、类方法、静态方法
a. 对象方法: 直接声明在类中的函数
        有默认参数self,通过对象调用的时候这个参数不用传参,因为系统会自动将当前对象传递给self。
        (self,当前对象 - 谁调用self就指向谁,当前类的对象能做的事情self都能做)
        通过类的对象来调用: 对象.对象方法()
b.类方法: 声明函数前加@classmethod
     有默认参数cls, 通过类调用的时候这个参数不用传参,因为系统会自动将当前类传递给cls
     (cls,当前类 - 谁调用就指向谁,当前类能做的事情cls都能做)
     通过类来调用: 类.类方法()
c.静态方法:声明函数前加@staticmethod
      没有默认参数
      通过类来调用: 类.静态方法()

"""

声明一个Person类
class Person:
"""人类"""
# =========属性(字段/对象属性)==========
# =========方法==========
# ===============对象方法============
def eat(self, food):
# self = p1, food = '面条'
# self = p2, food = '火锅'
print('self:', self)
print('人吃'+food)
self.study('python')

def study(self, type):
    # self = p1, type = 'python'
    # self = p2, type = 'python'
    print('学习'+type)

# ===============类方法================
@classmethod
def destroy(cls):
    # cls = Person
    # 通过cls创建对象
    tp = cls()      # tp = Person()
    cls.func1()     # Person.func1()
    print('tp:', tp)
    print('cls:', cls)
    print('人类破坏环境')

@classmethod
def func1(cls):
    # cls = Person
    print('临时类方法')

# ===============静态方法================
@staticmethod
def beat_animal():
    print('人类殴打小动物')
创建Person类的对象p1

p1 = Person()
p0 = p1
print(p1, p0)
p2 = Person()
p3 = Person()
print(p2)

对象调用对象方法

p1.eat('面条')
p1.study()
p2.eat('火锅')

类调用类方法

print(Person)
Person.destroy()

类调用静态方法

Person.beat_animal()