Python3面向对象相关知识

Python是一种支持多种编程范式的语言,包括面向对象编程(Object-Oriented Programming,OOP)。面向对象编程是一种编程模式,它使用“对象”来表示数据和操作数据的方法。面向对象编程在Python中非常有用,特别是在处理复杂的数据结构和系统时,它可以帮助组织和管理代码,使其更加清晰和可维护。

1、类(Class)

类是创建对象的蓝图。它定义了一组属性(称为字段或变量)和方法(类中定义的函数)。

class MyClass:
    def __init__(self, attribute_value):
        self.attribute = attribute_value

    def method(self):
        return self.attribute

2、对象(Object)

对象是类的实例。当类被实例化时,会创建一个对象。每个对象都有自己的属性和方法,它们与类中定义的属性和方法相关联。

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def say_hello(self):
        print(f"Hello, {self.name}。{self.age}岁")
        
person1 = Person("张三", 30)
person2 = Person("李四", 25)
person1.say_hello()
person2.say_hello()

3、属性(Attribute)

属性是对象的数据成员,它们用于存储对象的状态。属性通常在类的构造函数 __init__ 中初始化,并通过 self 关键字访问。

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def say_hello(self):
        print(f"Hello, {self.name}。{self.age}岁")
        
person1 = Person("张三", 30)
person2 = Person("李四", 25)
#访问对象的属性
print(person1.name)
print(person2.name)

4、方法(Method)

方法是与对象相关联的函数。它们用于执行特定的操作。方法通常以 self 作为第一个参数,以便访问对象的属性和其他方法。

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def say_hello(self):
        print(f"Hello, {self.name}。{self.age}岁")
        
person1 = Person("张三", 30)
person2 = Person("李四", 25)
#调用对象的方法
person1.say_hello()
person2.say_hello()

3、继承(Inheritance)

继承是一种机制,它允许创建一个新的类(子类),该类可以继承另一个类(父类)的属性和方法。子类可以扩展或修改继承的属性和方法。

1)基本继承

Python所有类都是object的特殊类的子类,这个和其它语言中的类似,我们不指定父类,类是自动从object继承过来。我们也可以显示声明从object类继承,例如,

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def say_hello(self):
        print(f"Hello, {self.name}。{self.age}岁")

class Student(Person, object):
    def __init__(self, name, age, student_id):
        super().__init__(name, age)  # 调用父类的构造函数
        self.student_id = student_id

    def study(self):
        print(f"{self.name} is studying.")

student = Student("Lingliang", 21, "12345")

student.say_hello()

2)扩展内置类

可以继承内置类并扩展它们,以添加自定义的功能或行为。这可以通过创建一个新的类,并在新的类中继承内置类的属性和方法来实现。例如,

 使用示例:Python3面向对象相关知识-CJavaPy

3)重写和Super

可以使用继承、方法重写和super()函数来扩展和自定义父类的行为。

 使用示例:Python3面向对象相关知识-CJavaPy

4)多重继承

Python 3 支持多重继承,也就是一个类可以继承自多个父类。子类可以继承多个父类的属性和方法。多重继承在某些情况下非常有用,但也需要小心使用,以避免潜在的复杂性和命名冲突。

 使用示例:Python3面向对象相关知识-CJavaPy

5)多态

多态(Polymorphism)是面向对象编程的一个重要概念,它允许不同的对象对相同的方法名做出不同的响应。

 使用示例:Python3面向对象相关知识-CJavaPy

6)封装

封装(Encapsulation)是面向对象编程(OOP)的一个重要概念,它指的是将类的内部数据和实现细节隐藏起来,只暴露必要的接口。封装有助于保护数据的完整性和安全性,并使代码更具可维护性和可扩展性。

使用示例:Python3面向对象相关知识-CJavaPy
posted @ 2024-01-23 21:01  leviliang  阅读(4)  评论(0编辑  收藏  举报