Python 面向对象

2018-08-12  本文已影响0人  时光清浅_许你心安_

数据封装

数据的封装,其实就是定义一些函数,来实现特定的功能,类的实例调用对应的方法就可以实现对应的功能,不需要关注函数的具体实现和数据的具体传递。

继承

OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类、父类或超类(Base class、Super class)。继承的作用就是子类可以继承到父类的所有功能。也可以重写对应的功能。

多态

多态的概念其实是在继承,重写的应用,我们可以通过继承派生出不同的子类,重写子类的具体实现,在调用时用他们的共同基类做参数,这样基类派生出的各种子类都可以传递进去,系统会根据传入的具体类型实现具体的功能。

面向对象与面向过程的比较

面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。
面向过程编程——面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度。

#面向对象
class Student(object):

    def __init__(self, name, age):
        self.name = name
        self.age = age

    def print_age(self):
        print('%s: %s' % (self.name, self.age))

bart = Student('张三', 15)
lisa = Student('李四', 16)
bart.print_age()
lisa.print_age()
#面向过程
def print_age(std):
    print('%s: %s' % (std['name'], std['age']))
std1 = { 'name': '张三', 'age': 17 }
std2 = { 'name': '李四', 'age': 18 }

print_age(std1)
print_age(std2)
上一篇下一篇

猜你喜欢

热点阅读