最新消息:

少儿Python基础(8) | 类与面向对象(1)

Python 少儿编程 1823浏览 0评论
Python少儿编程02

可爱的小朋友们,今天我们一起来学习面向对象鸭~

01

什么是类?

类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。类是创建实例的模板,对象是类的实例。

02

什么是对象?

对象是由类创造出来的变量,它可以调用类里面的所以函数(方法),效果就像函数的函数名,可以操作函数一样。

03

面向过程和面向对象的区别?

举个简单的例子来区分面向过程和面向对象

有一天你想吃瘦肉米粉了,怎么办呢?这时你有两个选择

1、自己去超市买米粉,瘦肉,青菜,火腿,瘦肉米粉调料等然后洗菜切肉,开始汤米粉,最后装到碗里。

2、去学校饭堂,张开嘴:老板!来一份瘦肉米粉!

看出来区别了吗?这就是1是面向过程,2是面向对象

 

面向对象有什么优势呢?首先你不需要知道瘦肉米粉是怎么做的,降低了耦合性。如果你突然不想吃瘦肉米粉了,想吃牛肉米粉,对于1你可能不太容易了,还需要重新买牛肉,买牛肉调料什么的。对于2,太容易了,大喊:老板!那个瘦肉米粉换成牛肉米粉吧,提高了可维护性。总的来说就是降低耦合,提高维护性!

面向过程是具体化的,流程化的,解决一个问题,你需要一步一步的分析,一步一步的实现。

面向对象是模型化的,你只需抽象出一个类,这是一个封闭的盒子,在这里你拥有数据也拥有解决问题的方法。需要什么功能直接使用就可以了,不必去一步一步的实现。

04

面向对象的三大特性

少儿Python | 类与面向对象(1)

封装

封装是隐藏对象的属性和实现细节,仅对外提供公共访问方式,提高复用性和安全性,是一种信息隐蔽化技术。

比如:Python的列表是一个对象,它提供了若干种方法,供我们根据需求来调整整个列表。但我们不知道列表对象的这些方法是如何实现的,也不知道列表有哪些对象,这就是封装。

我们只需要根据需求调用方法就可以实现了。

但它具体怎么实现的,没有告诉我们,这是封装。

案例:
class Student:
    def __init__(self,name,age):  #构造方法
        self.name=name
        self.age=age
#创建对象student1,student2
student1=Student("xiaoming",20)
student2=Student("xiaohong",21)
print (student1.name,student1.age)
print (student2.name,student2.age)

少儿Python | 类与面向对象(1)

继承

子类自动共享父类之间的数据和方法的机制

>>> class MyList(list):# MyList继承list的属性和方法
pass
>>> list2=MyList()#实例化对象赋值给变量List2
>>> list2.append(5)
>>> list2
[5]
>>> list2.append(9)
>>> list2.sort()
>>> list2
[5, 9]
少儿Python | 类与面向对象(1)

多态

多态指的是父类的引用指向子类的对象,不同对象对同一方法响应不同的结果

>>> class A:
def fun(self):
print('我是小A')
>>> class B:
def fun(self):
print('我是小B')
>>> a=A()
>>> b=B()
>>> a.fun()
我是小A
>>> b.fun()
我是小B
>>>

THE END

您必须 登录 才能发表评论!