【python】面向对象编程的基本概念简述

面向对象编程(Object-Oriented Programming,简称OOP)是一种程序设计范型,它将现实世界中的事物抽象为“对象”,并使用类和对象等概念来设计程序和软件系统。OOP提高了代码的可重用性、可维护性和可扩展性。

类(Class)

类是对一组具有相同属性和方法(或称为函数)的对象的抽象描述。它定义了该集合中每个对象所共有的属性和方法。在Python中,你可以使用class关键字来定义一个类。

方法(Method)

方法是类中定义的函数,它用于描述对象的行为或操作。在Python中,方法的第一个参数通常是self,它引用实例对象本身。

类变量(Class Variable)

类变量是在类中定义且在函数体之外的变量,它在所有类的实例之间共享。这意味着,如果你更改了一个类变量的值,这个改变将影响所有的实例。

数据成员(Data Member)

数据成员包括类变量和实例变量,它们用于存储与类及其实例对象相关的数据。类变量在类的所有实例之间共享,而实例变量则属于类的单个实例。

方法重写(Method Overriding)

方法重写(也称为方法覆盖或方法重定义)是指子类可以提供一个与基类同名的方法实现。当子类对象调用该方法时,将执行子类中的方法,而不是基类中的方法。这是OOP中实现多态性的一种方式。

局部变量(Local Variable)

局部变量是在函数或方法内部定义的变量,它们只在函数或方法的作用域内有效。当函数或方法执行完毕后,局部变量将被销毁。

实例变量(Instance Variable)

实例变量是在类的构造方法或实例方法中定义的变量,它们属于类的单个实例。在Python中,实例变量通常使用self关键字来引用。

继承(Inheritance)

继承是OOP的一个重要特性,它允许一个类(称为子类或派生类)继承另一个类(称为父类或基类)的属性和方法。子类可以添加新的属性或方法,也可以重写从父类继承的方法。继承是代码重用的一种重要手段,它使得子类能够共享父类的代码和数据。

实例化(Instantiation)

实例化是创建一个类的实例(或称为对象)的过程。在Python中,你可以使用类名加括号(可能带有参数)来实例化一个对象。例如,如果你有一个名为Dog的类,你可以使用my_dog = Dog()来创建一个Dog类的实例。

对象(Object)

对象是类的实例化结果,它包含了类的所有属性和方法。在Python中,你可以使用对象来调用它的方法或访问它的属性。例如,如果你有一个名为my_dogDog类实例,你可以使用my_dog.bark()来调用它的bark方法(假设Dog类有一个名为bark的方法)。

示例

# 定义一个名为"Dog"的类  
class Dog:  
    # 类变量,所有Dog对象共享  
    species = "Canis lupus familiaris"  
  
    # 初始化方法,当创建Dog对象时自动调用  
    def __init__(self, name, age):  
        # 实例变量,每个Dog对象都有自己的name和age  
        self.name = name  
        self.age = age  
  
    # 定义一个方法,描述Dog的行为  
    def bark(self):  
        print(f"{self.name} says Woof!")  
  
    # 定义一个方法,描述Dog的另一种行为  
    def eat(self, food):  
        print(f"{self.name} is eating {food}.")  
  
# 创建Dog对象  
my_dog = Dog("Buddy", 3)  
  
# 访问实例变量  
print(my_dog.name)  # 输出: Buddy  
print(my_dog.age)   # 输出: 3  
  
# 访问类变量  
print(Dog.species)  # 输出: Canis lupus familiaris  
  
# 调用方法  
my_dog.bark()        # 输出: Buddy says Woof!  
my_dog.eat("bone")  # 输出: Buddy is eating bone.  
  
# 继承示例  
class GoldenRetriever(Dog):  
    # 初始化方法,添加GoldenRetriever特有的属性  
    def __init__(self, name, age, color):  
        super().__init__(name, age)  # 调用父类的初始化方法  
        self.color = color  
  
    # 重写父类的方法  
    def bark(self):  
        print(f"{self.name} barks more cheerfully!")  
  
# 创建GoldenRetriever对象  
golden = GoldenRetriever("Golden", 2, "golden brown")  
  
# 调用GoldenRetriever特有的方法和重写的方法  
print(golden.color)                 # 输出: golden brown  
golden.bark()                       # 输出: Golden barks more cheerfully!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值