面向对象编程(ObjectOriented Programming,简称OOP)是一种编程范式,它使用“对象”来表示现实世界中的事物,通过封装、继承和多态等特性来实现代码的复用和模块化,在Python中,我们可以使用类(class)和对象(object)来实现面向对象编程。
(图片来源网络,侵删)类和对象
1、类(class):类是对象的抽象,用于描述对象的属性和方法,在Python中,可以使用关键字class
来定义一个类。
2、对象(object):对象是类的实例,具有类所描述的属性和方法,在Python中,可以通过类名加括号的方式来创建对象。
类的定义和使用
1、定义类:使用关键字class
定义一个类,后面跟类名和冒号,类名通常采用驼峰命名法。
class MyClass: pass
2、类的属性:在类的内部,可以定义变量作为类的属性,这些变量可以在类的任何地方使用,包括方法内部。
class MyClass: name = "MyClass"
3、类的方法:在类的内部,可以定义函数作为类的方法,方法的第一个参数通常是self
,表示对象本身。
class MyClass: def my_method(self): print("Hello, World!")
4、创建对象:通过类名加括号的方式创建对象。
my_object = MyClass()
5、访问对象的属性和方法:使用点号.
访问对象的属性和方法。
print(my_object.name) # 输出 "MyClass" my_object.my_method() # 输出 "Hello, World!"
继承和多态
1、继承:子类可以继承父类的属性和方法,在Python中,可以使用关键字class
后跟子类名、冒号和括号,括号内包含父类名。
class ParentClass: pass class ChildClass(ParentClass): pass
2、多态:不同类的实例可以使用相同的方法名,但实现不同的功能,在Python中,多态是通过动态类型实现的。
def my_method(self): print("Hello, World!") class MyClass: def my_method(self): print("Hello, MyClass!") super().my_method() # 调用父类的同名方法 class ParentClass: def my_method(self): print("Hello, ParentClass!") super().my_method() # 调用父类的同名方法(实际上没有父类,这里只是为了演示)
封装和隐藏实现细节
1、封装:将对象的属性和方法包装在一起,外部只能通过对象提供的接口访问,在Python中,可以通过设置属性和方法的访问权限来实现封装,将属性设置为私有属性(以双下划线__
开头),并提供公共方法来访问和修改属性。
class MyClass: def __init__(self): self.__private_attr = "private" self.public_attr = "public" def get_private_attr(self): return self.__private_attr def set_private_attr(self, value): self.__private_attr = value
2、隐藏实现细节:将类的实现细节隐藏起来,只暴露必要的接口给外部使用,在Python中,可以通过将方法和属性设置为私有或使用单下划线_
来表示不推荐使用的实现细节。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。