Python学习日志--面向对象

本文深入解析Python中的面向对象编程,包括封装、继承和多态三大特性。通过具体示例,阐述了如何使用类和对象来简化程序开发和维护,展示了Python在面向对象编程方面的强大能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

面向对象的思想是高级语言中最好的特性,使程序的开发更加优美,维护起来更加简洁。

Python中面向对象与Java中的面向对象在特性和功能方面几乎没有区别。

面向对象的特征:

  1. 封装性:可以将多个属性和方法(功能)封装,有利于统一维护
  2. 继承性:在继承父类之后将拥有父类的属性和方法,简化程序的开发,维护
  3. 多态性:相同函数由于执行的对象的不同产生的效果也就是执行的代码段不同

示例1:封装

# 类的声明
class Animal:
    # 属性
    name = 'pengpeng'
    age = 18
        
    # 方法
    def eat(self):
        print("----吃东西----")

# 创建对象
animal = Animal()

# 访问属性
print(animal.name)
print(animal.age)

# 访问方法
animal.eat()

说明:在上面的示例中Animal这个类将 name,age这两个属性和eat()方法封装

示例2:继承

# python 继承方式如下
class Dog(Animal):
    def bark(self):
        print("---汪汪----")

# 创建对象
dog = Dog()

# 访问bark方法
dog.bark()

########### 访问父类中的方法和属性
dog.eat()
print(dog.name)
print(dog.age)

在这个示例中Dog继承了Animal这个类,自身有一个bark的方法,但是dog这个对象可以调用eat()方法以及name,age属性

示例3:多态

# 重写:如果继承的父类中已存在某方法,子类中也有同名方法则产生了重写,例如
class Animal(object):
    def eat(self):
        print("----吃东西----")

class Dog(Animal):  
    def eat(self):
        print("----吃骨头----")

#定义函数 eat_all
def eat_all(anyone):
    anyone.eat()

# 分别用animal,dog调用eat_all方法
animal = Animal()
dog = Dog()

eat_all(animal)
eat_all(dog)

#打印结果为:
#----吃东西----
#----吃骨头----

以上示例说明虽然同一个eat_all方法但是执行的代码段不同,这就是多态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值