python面向对象

本文详细介绍了Python面向对象编程的概念,包括类的定义(类名、属性和方法)、实例属性与私有属性、封装机制、单继承与多继承的示例,以及重写父类方法和多态的应用。

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


语法规则:
class 类名():
属性
方法

class Person():
	name = '张三'
	age = 19
	def eat(self):
		print('吃')

类属性
实例属性:实例对象的属性
定义在构造方法中的属性
共有实例属性:常规属性
私有实例属性:双下划线开头,只能够在自己的类中进行调用

语法:
对象名称.属性名称
类的内部使用:self.属性名称

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

	def print_name(self):
		print(f'{self.name}是我的名字')

xiaoming = Person('小明',19,'男')
xiaoming.print_name()
		

封装

#私有属性的set和get
class Person():
	def set_name(self):
		self.__name=name
	def get_name(self):
		return self.__name

类的公有方法和私有方法
公有方法
私有方法:双下滑线开头,只能在类中使用

class Person():
	def print_name(self):
		print("小明")
	def __print_age(self):
		print("18")
	#通过共有方法包装一层,才可以正常调用
	def p_age(self):
		self.__print_age()
p = Person()
p.p_age()
	

继承
继承:继承用于类的创建上,新创建的叫子类,而被继承的叫做父类。子类可以使用父类属性,继承是描述类与类之间的关系。
继承的种类:python 里继承总共有单继承、多继承和多层继承。

#单继承
class A():
    def __init__(self):
        self.a = 'a'

    def test_a(self):
        print("aaaa")
    

class B(A):
    def __init__(self):
        self.b = 'b'

    def test_b(self):
        self.test_a()
        print("bbbb")


obj = B()
obj.test_b()

#多继承
class A():
    def __init__(self):
        self.a = 'a'

    def test_a(self):
        print("aaaa")
    

class B():
    def __init__(self):
        self.b = 'b'

    def test_b(self):
        print("bbbb")


class C(A, B):
    def __init__(self):
        self.c = 'c'

    def test_c(self):
        self.test_a()
        self.test_b()
#重写父类方法
class A():
    def __init__(self):
        self.a = 'a'

    def test(self):
        print("aaaa")
    

class B(A):
    def __init__(self):
        self.b = 'b'
        super().__init__()

    def test(self):
        print("bbbb")


多态
同一种行为对不同的子类[对象]有不同的行为表现
1.必须存在一种继承关系,必须发生在父类和子类之间
2.重写:子类重写父类的方法
优点:
多态可以增加程序的灵活性
增加程序的扩展性

"""
面向对象 - 多态
"""


class Animal:
    name = "Animal"
    age = 0

    def make_sound(self):
        print("动物发音")


class Dog(Animal):
    def make_sound(self):
        print("汪汪")


class Cat(Animal):
    def make_sound(self):
        print("喵喵")

#animal
Animal = Animal()
animal.make_sound()

print("")
#dog 
Animal = Dog()
dog.make_sound()

print("")
#cat
Animal = Cat()
cat.make_sound()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值