Python基础复习-面向对象的编程

电玩女神 2024-03-02 08:08 129阅读 0赞

目录

  • 类的定义
  • 创建实例
    • 类中的实例
    • 修改属性
  • 类的继承

类的定义

  1. class MyClass:
  2. def __init__(self, name, age):
  3. self.name = name
  4. self.age = age
  5. def display(self):
  6. print(f"Name: {
  7. self.name}, Age: {
  8. self.age}")

创建实例

  1. # 创建一个实例
  2. person = MyClass("小明", 25)
  3. person.display()

类中的实例

在类中使用实例是指使用类定义的数据类型来创建一个具体的对象,该对象具有类定义的属性和方法。实例化一个类时,会为该类的属性和方法分配内存,并返回一个指向该对象的指针或引用。可以使用这个对象来访问和修改类的属性和方法。

例如,假设有一个名为Person的类,它定义了一个名为name的属性和一个名为greet的方法。可以使用以下代码创建一个Person类的实例:

  1. Person person;

这创建了一个名为person的对象,它是一个Person类的实例。可以使用person对象来访问和修改Person类的属性和方法,例如:

  1. person.name = "Alice";
  2. person.greet();

这会将person对象的name属性设置为"Alice",并调用greet方法来输出"Hello, Alice!"

修改属性

  1. 使用点号运算符(.)直接访问和修改属性值。

    class MyClass:

    1. def __init__(self):
    2. self.name = "张三"

    obj = MyClass()
    print(obj.name) # 输出:张三
    obj.name = “李四”
    print(obj.name) # 输出:李四

  2. 在类的方法中修改属性值。

    class MyClass:

    1. def __init__(self):
    2. self.name = "张三"
    3. def change_name(self, new_name):
    4. self.name = new_name

    obj = MyClass()
    print(obj.name) # 输出:张三
    obj.change_name(“李四”)
    print(obj.name) # 输出:李四

  3. 使用 del 关键字删除属性。

    class MyClass:

    1. def __init__(self):
    2. self.name = "张三"

    obj = MyClass()
    print(hasattr(obj, “name”)) # 输出:True
    del obj.name
    print(hasattr(obj, “name”)) # 输出:False

类的继承

  • class 子类名(父类名)
  • 声明继承父类的属性
  • 自动继承所有方法【可以重写】

    class Parent:

    1. def __init__(self, attr1, attr2):
    2. self.attr1 = attr1
    3. self.attr2 = attr2

    class Child(Parent):

    1. def __init__(self, attr1, attr2, new_attr):
    2. super().__init__(attr1, attr2)
    3. self.new_attr = new_attr

    创建一个父类实例

    parent_instance = Parent(“value1”, “value2”)
    print(“Parent instance attributes:”, parent_instance.attr1, parent_instance.attr2)

    创建一个子类实例

    child_instance = Child(“value1”, “value2”, “value3”)
    print(“Child instance attributes:”, child_instance.attr1, child_instance.attr2, child_instance.new_attr)

执行结果:

  1. Parent instance attributes: value1 value2
  2. Child instance attributes: value1 value2 value3

发表评论

表情:
评论列表 (有 0 条评论,129人围观)

还没有评论,来说两句吧...

相关阅读

    相关 面向对象编程基础

      对象构成了一组数据结构及其处理方法。具有相同行为的对象被分类为类。内部细节被类的封装所隐藏。类的专门化和泛化是通过继承实现的,基于对象类型的动态赋值是通过多态实现的。。。。