Python OOP:类、对象、继承和构造函数(附示例)
OOP 中 Python
OOP 中 Python 是一种与其他通用编程语言一样注重使用对象和类的编程方法。对象可以是任何现实世界的实体。 Python 允许开发人员使用 OOP 方法开发应用程序,主要关注代码可重用性。在 Python.
什么是类?
一堂课 Python 是数据和函数的逻辑分组。它允许自由创建包含任意内容且易于访问的数据结构。
例如,任何想要在线获取客户详细信息的银行员工都可以访问 客户等级,其中会列出其所有属性,例如交易详情、提款和存款详情、未偿债务等。
如何定义 Python 类
要定义类,你需要考虑以下几点
步骤1) In Python,类由 “班级” 关键词
class myClass():
步骤2) 在类内部,你可以定义属于该类的函数或方法
def method1 (self): print "Guru99" def method2 (self,someString): print "Software Testing:" + someString
- 这里我们定义了打印“Guru1”的方法99。
- 我们定义的另一个方法是 method2,它打印“Software Testing”+ SomeString。SomeString 是调用方法提供的变量
步骤3) 类中的所有内容都缩进,就像函数、循环、if 语句等中的代码一样。任何未缩进的内容都不属于类
注意: 关于在 Python
- self 参数指的是对象本身。因此使用了 self 这个词。因此在这个方法中,self 将引用正在操作的这个对象的特定实例。
- Self 是 Pythons 表示实例方法的第一个参数 Python。 它是一部分 Python 访问对象成员的语法
步骤4) 创建类的对象
c = myClass()
步骤5) 调用类中的方法
c.method1()
c.method2(" Testing is fun")
- 请注意,当我们调用 method1 或 method2 时,我们不必提供 self 关键字。它会自动为我们处理 Python 运行。
- Python 当你在实例中调用实例方法时,运行时将传递“self”值,无论你是否故意提供它
- 你只需要关心非自我论点
步骤6) 以下是完整的代码
# Example file for working with classes
class myClass():
def method1(self):
print("Guru99")
def method2(self,someString):
print("Software Testing:" + someString)
def main():
# exercise the class methods
c = myClass ()
c.method1()
c.method2(" Testing is fun")
if __name__== "__main__":
main()
继承如何运作
继承是面向对象编程中使用的一个特性;它指的是定义一个新类,而对现有类的修改很少或没有修改。新类称为 派生类 它继承自一个叫做 基地. Python 支持继承;它还支持 多重继承。一个类可以从另一个类继承属性和行为方法,另一个类称为子类或继承者类。
Python 继承语法
class DerivedClass(BaseClass):
body_of_derived_class
步骤1) 运行以下代码
# Example file for working with classes
class myClass():
def method1(self):
print("Guru99")
class childClass(myClass):
#def method1(self):
#myClass.method1(self);
#print ("childClass Method1")
def method2(self):
print("childClass method2")
def main():
# exercise the class methods
c2 = childClass()
c2.method1()
#c2.method2()
if __name__== "__main__":
main()
注意,在 childClass 中,method1 未定义,但它是从父类 myClass 派生的。输出为“Guru99”。
步骤2) 取消注释第 8 行和第 10 行。运行代码
现在,方法 1 在 childClass 中定义,并且输出“childClass Method1”正确显示。
步骤3) 取消注释第 9 行。运行代码
您可以使用以下语法调用父类的方法
ParentClassName.MethodName(self)
在我们的例子中,我们调用 myClass.method1(self) 并且 Guru99 按预期打印
第一步)取消注释第19行。运行代码。
调用子类的方法 2,并按预期打印“childClass method2”。
Python 构造函数
构造函数是一个将对象实例化为预定义值的类函数。
它以双下划线 (_) 开头。它 __init__() 方法
在下面的例子中,我们使用构造函数获取用户的名称。
class User:
name = ""
def __init__(self, name):
self.name = name
def sayHello(self):
print("Welcome to Guru99, " + self.name)
User1 = User("Alex")
User1.sayHello()
输出将是:
欢迎来到 Guru99,Alex
Python 2示例
以上代码是 Python 3 个例子,如果你想跑步 Python 2 请考虑以下代码。
# How to define Python classes
# Example file for working with classes
class myClass():
def method1(self):
print "Guru99"
def method2(self,someString):
print "Software Testing:" + someString
def main():
# exercise the class methods
c = myClass ()
c.method1()
c.method2(" Testing is fun")
if __name__== "__main__":
main()
#How Inheritance works
# Example file for working with classes
class myClass():
def method1(self):
print "Guru99"
class childClass(myClass):
#def method1(self):
#myClass.method1(self);
#print "childClass Method1"
def method2(self):
print "childClass method2"
def main():
# exercise the class methods
c2 = childClass()
c2.method1()
#c2.method2()
if __name__== "__main__":
main()
学习我们的下一个教程 多态性 Python
结语
“类”是功能和数据的逻辑分组。 Python 类提供了面向对象编程的所有标准特性。
- 类的继承机制
- 重写其基类的任何方法的派生类
- 方法可以调用基类的同名方法
- Python 类由关键字定义 “类” 本身
- 在类中,你可以定义属于类的函数或方法
- 类中的所有内容都缩进,就像函数、循环、if 语句等中的代码一样。
- 自我论证 Python 指对象本身。Self 是 Pythons 表示实例方法的第一个参数 Python
-
Python 当你在实例中调用实例方法时,运行时会自动传递“self”值,无论你是否故意提供它
- In Python,一个类可以从另一个类继承属性和行为方法,该类称为子类或继承者类。


