#什么是面向对象
面向对象是一种编程范式,它将程序中的数据和操作封装在一个对象中,从而使得程序更加模块化、可重用和易于维护。在面向对象编程中,对象是类的实例化,类是一种抽象的数据类型,它定义了一组属性和方法。
例如:人是类,人有很多不同的人组成,小红、小王、小儿,这些都是对象
#类是一种抽象的数据类型,它定义了一组属性和方法,描述了一类对象的共同特征和行为
/对象是类的实例化,是具体的数据实体,具有类所定义的属性和方法。
这里的类其实就是数据或者变量,对象就是属性或者状态操作行为,
需要使用Class关键字来定义类,使用实例化创建对象
class Person:# 创建对象属性,构造方法 # 当创建一个类的实例时,__init__ 方法会自动调用。self 参数是必须的,它代表创建的对象本身def __init__(self,name,age):self.name=nameself.age=age# 创建方法def eat(self):print(self.name+"is eating")# 类通过加括号来进行使用 生成一个具体的对象
Persons=Person('xioa','2')
#输出 通过对象的属性和方法来访问和修改对象的状态:
print(Persons.name)
Persons.eat()
面向对象编程的核心思想是封装、继承和多态。:
封装是将数据和操作封装在一个对象中,隐藏对象的内部实现细节,只暴露必要的接口给外部访问。
继承是通过继承父类的属性和方法,来创建一个新的子类,子类可以重写父类的属性和方法,从而实现更加灵活的功能。
一个类可以从另一个类继承,被继承的类称为父类, 继承的类称为子类。
子类可以继承父类的属性和方法,并且可以添加自己的属性和方法
子类也可以重写父类的方法,从而改变其行为。
class Animal:def __init__(self, name):self.name = namedef speak(self):raise NotImplementedError("Subclass must implement abstract method")class Dog(Animal):def speak(self):return "Woof"my_dog = Dog("Rufus")
print(my_dog.name)
print(my_dog.speak())