Python入门教程 面向对象 最重要的一课

面向过程(Procedure oriented)-函数调用函数

可以使用在函数中调用其他函数的方式设计我们的程序。这叫做面向过程的编程方式。它的特点是把程序分成多个步骤,用函数把这些不走一步步实现,使用的时候串行依次调用。

面向对象编程(Object Oriented Programming -OOP)

OOP把对象作为程序的基础,一个对象包含了数据,属性和操作数据的方法

In Python everything is an obiect

对象和类

1类:定义了一件事情的抽象特点,如共有的属性和方法

2对象:类的实例

使用类的优势

1继承inheritance,子类可以继承父类通用类型的属性和方法,也就是在父类或者基类中实现一次能被子类重用

2封装Encapsultion 对外部隐藏有关对象工作原理的细节

3多态polymorphism 也就是统一方法,不同的行为,指由继承而产生的相关但不同的类,其对象同一消息会做出不同的响应

属性和方法

对象= 属性+方法

条目基类
class Subject:
    kind = None
    
    def__init__(self,id,category_id,title)
##方法_init_ 隐式调用
        self.id = id
        self.category_id = category_id
        self.title = title
    def show_title(self):
        return self.title
    def update_title(self,title):
        self.title = title
##跟函数的区别就是self

##self会把subject传进去,首写字母大写是类,小写是实例,也就是对象

继承

class Movie(Subject):
	kind = "Movie"
	##继承Subject类

覆盖(override)

从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫做方法的覆盖,也成为方法的重写。这个过程叫方法的覆盖,也成为方法的重写。在子类定义父类同名方法之后,父类方法被覆盖。

super()._init_(id,category_id,title)

方法解析顺序

http://dongweiming.github.io/Expert-Python/#31

http://zetcode.com/lang/python/oop/                             

https://docs.python.org/3/tutorial/classes.html             

https://rszalski.github.io/magicmethods/                         

https://dbader.org/blog/python-dunder-methods

猜你喜欢

转载自blog.csdn.net/weixin_42199275/article/details/81505053