Day5-1 面向对象和面向过程

Posted 大橡皮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Day5-1 面向对象和面向过程相关的知识,希望对你有一定的参考价值。

摘要:

类的定义

类的增删改查

 

 

 

 

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

1.面向过程就像是工厂的流水线,按部就班的有序的工作.

优点:把复杂的问题简单化

缺点:可扩展性差.一个步骤改动,其他的步骤几乎都要跟着改动.

适用:功能一旦实现之后就很少需要改变的场景.

2.面向对象:

2-1 什么是对象?

对象的具有一些特征和方法的集合.比如孙悟空是一个对象,他的特征是 毛脸雷公嘴,金箍棒,金箍圈.他的方法(技能)七十二变,火眼金睛.

优点:可扩展性强

缺点:编程复杂度高.

适用:互联网应用,企业应用,游戏.

类:是一系列对象相似的特征与技能的结合体

在不同的角度,获取的类是不一样的.比如在生物类的角度看,人,花草树木都是一类的,归于生物类.在人类的角度,人类是单独的类别,花草树木是植物类.

那么是先对有对象还是现有类? 

在现实世界中:现有对象,再有类.

在程序中:要先定义类,再通过调用类产生对象.

类与函数的区别:

函数只有在被调用的时候,才会产生一个局部名称空间来存放函数体中的变量.

类一旦定义好了,就会产生一个局部名称空间来存放类体中的变量

 

类的定义和增删改查:

技术分享图片
 1 #在程序中:先定义类
 2 class Luffycity():
 3     school = "路飞学城"     # 这个叫数据属性
 4 
 5     def eat(self):         # 函数属性
 6         print("is eating")
 7 
 8     def sleep(self):
 9         print("is sleeping")
10 
11     def learn(self):
12         print("is learning")
13 
14 # 查看类的名称空间:
15 print(Luffycity.__dict__)
16 # 查看类的名称空间中变量或者函数
17 print(Luffycity.__dict__["school"])
18 print(Luffycity.__dict__["learn"])
19 print(Luffycity.__dict__["eat"])
20 # 下面的语句等同于上面的查看方法
21 print(Luffycity.school)
22 print(Luffycity.learn)
23 print(Luffycity.eat)
24 # 增加一个类,比如增加一个country = china
25 Luffycity.country ="china"
26 print(Luffycity.country)
27 
28 # 删除一个类数据类型
29 del Luffycity.country
30 print(Luffycity.__dict__)
31 
32 # 修改,把路飞学城修改成luffycity
33 Luffycity.school = "luffycity"
34 print(Luffycity.school)
类的定义和增删改查

 

以上是关于Day5-1 面向对象和面向过程的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段9——JS中的面向对象编程

JAVA方法的定义

面向过程编程与面向对象编程

Java面向对象

面向对象编程——面向对象和面向过程

Python面向过程和面向对象基础