目录
前言
面向对象是一种程序设计思想,面向过程也是一种程序设计hi思想,这是处理问题的思考角度不一样。
面向过程的思维就是需要注重的是这个事情的步骤和顺序,比较直接高效。
面向对象的思维就是要注重事情的参与者,需求什么对象以及每个对象都需要做哪些事情。将其拆解为一个个模块和对象。这样的设计思想会更容易维护和扩展。
-
类和实例
-
类:用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法
-
实例(对象):根据类映射出的一个个具体的对象
-
类方法:整个类共有的功能
-
类属性:整个类共有的属性
-
实例方法:属于每个对象的功能
-
实例属性:属于每个对象的属性
-
# -*- coding: utf-8 -*-
class Student:
def __init__(self, name, height, weight):
self.name = name
self.height = height
self.weight = weight
def eat(self):
print(f"{self.name}吃饭了")
li_hua = Student("梨花", 180, 80)
li_hua.eat()
__init__方法:实例初始化的方法,创建实例后自动调用,第一个参数为self为创建实例的本身。
学过c++的同学应该知道c++的类中有构造函数,python的__init__方法和构造函数的作用一样。
-
实例的属性和类的属性
在类的函数当中定义的变量都是对象的成员变量,如果要定义类的属性和类方法(使用 @classmethod
装饰器定义的方法)就要使用下面的方法
# -*- coding: utf-8 -*-
class Student:
stunum = 1 # 像这样将变量定义在函数外面就是类的属性
# 类的属性整个类共享
# 定义类的方法
@classmethod
def addstu(cls):
cls.stunum += 1
print("学生+1")
def __init__(self, name, height, weight):
self.name = name
self.height = height
self.wei