首页 > 代码库 > python基础----面向对象的程序设计

python基础----面向对象的程序设计

面向对象的软件开发有如下几个阶段:

1.面向对象分析(object oriented analysis ,OOA)

2 面向对象设计(object oriented design,OOD)

3 面向对象编程(object oriented programming,OOP)

4 面向对象测试(object oriented test,OOT)

5 面向对象维护(object oriendted soft maintenance,OOSM)

技术分享
 1 #对象:学校----->归类 2     #共有的特征:商标为etiantian 3     #共有的技能:招生 4     #独有的特征:地址不一样,老师们,课程 5  6 class School: 7     tag=etiantian   #共有特征 8     def __init__(self,addr):   #独有特征 9         self.addr=addr10         self.teacher_list=[]11         self.course_list=[]12 13     def zhaosheng(self):  #共有技能14         pass15 16 17 #对象:老师---->归类18     #共同的技能:教课19     #独有的特征:名字,性别,level,课程20 21 class Teacher:22 23     def __init__(self,name,sex,level):24         self.name=name25         self.sex=sex26         self.level=level27         self.course_list=[]28 29     def teach(self):30         pass31 32 33 #对象:学生---->归类34     #共同的特征:35     #共同的技能:search_score,handin36     #独有的特征:学号,名字,性别,课程37 class Student:38     def __init__(self,ID,name,sex):    #独有特征39         self.id=ID40         self.name=name41         self.sex=sex42         self.course_list=[]43     def search_score(self):    #共有技能44         pass45 46     def handin(self):47         pass48 49 class Course:50     def __init__(self,name,price,period):51         self.name=name52         self.price=price53         self.period=period54 55 s1=Student(123123123123,cobila,female)56 # print(s1.id,s1.name,s1.sex)57 # print(s1.course_list)58 # s1.course_list.append(‘python‘)59 # s1.course_list.append(‘linux‘)60 # print(s1.course_list)61 62 python_obj=Course(python,15800,7m)63 linux_obj=Course(linux,19800,2m)64 65 66 s1.course_list.append(python_obj)67 s1.course_list.append(linux_obj)68 # print(s1.course_list)69 70 print(‘‘‘student name is:%s71     course name is :%s72     course price is :%s73     ‘‘‘ %(s1.name,s1.course_list[0].name,s1.course_list[0].price))
例子1

 

对于小白的忠告:

1.面向对象的程序设计看起来高大上,所以我在编程时就应该保证通篇class,这样写出的程序一定是好的程序(面向对象只适合那些可扩展性要求比较高的场景)

2.很多人喜欢说面向对象三大特性(这是从哪传出来的,封装,多态,继承?漏洞太多太多,好吧暂且称为三大特性),那么我在基于面向对象编程时,我一定要让我定义的类中完整的包含这三种特性,这样写肯定是好的程序

好家伙,我说降龙十八掌有十八掌,那么你每次跟人干仗都要从第一掌打到第18掌这才显得你会了是么,我来一万个人你需要打10000*18掌对么,傻叉

3.类有类属性,实例有实例属性,所以我们在定义class时一定要定义出那么几个类属性,想不到怎么办,那就使劲的想,定义的越多越牛逼

这就犯了一个严重的错误,程序越早面向对象,死的越早,为啥面向对象,因为我们要将数据与功能结合到一起,程序整体的结构都没有出来,或者说需要考虑的问题你都没有搞清楚个八九不离十,你就开始面向对象了,这就导致了,你在那里干想,自以为想通了,定义了一堆属性,结果后来又都用不到,或者想不通到底应该定义啥,那就一直想吧,想着想着就疯了。

你见过哪家公司要开发一个软件,上来就开始写,肯定是频繁的开会讨论计划,请看第八节

4.既然这么麻烦,那么我彻底解脱了,我们不要用面向对象编程了,你啊,你有大才,你能成事啊,傻叉。

  

python基础----面向对象的程序设计