又有一段时间没更新了,历经艰难,终于回到祖国的怀抱了
前言
这一些日子没怎么写代码,感觉生疏了不少。万变不离其宗,代码这东西也是得反复练习,自己上手,才能越来越熟练阿。这遍文章不会很长,还是关于面向对象的一个巩固和练习。
练习程序
用面向对象的形式编写一个老师角色,并实现创建老师,查询老师,删除老师等要求
其实你去Baidu上一搜索,答案马上就会有。照猫画虎谁不会呢,但其实我们还真不能小瞧了照猫画虎的本事,谁一下子上来就会呢?谁不是从0开始的呢?
为什么会选择这个题呢?
其实审完题,我就决定用这个程序练手了,因为题目很有实际性,且看起来稍微复杂一些
我是怎么开始的呢?
上面提到了照猫画虎,我这次不会写,下次会写一点,再下次就可以从零开始了。
这是个什么程序?
编写程序往往离不开对于数据的操纵,而这个程序对于数据的基本处理都涵盖了,包括(存储,增加,编辑,删除,和打印)当然从前面的文章也可以看出来,都是关于数据处理的。
展望
我觉得这个程序的结构对于基础知识的运用非常有帮助,对于以后程序的编写有很大的借鉴作用。总的来说,对于初学者是一个很好的模版。
Code
main.py
1 | import sys |
menu.py
1 | def interactive(object): |
manage.py
1 | import pickle |
func.py
1 | import os |
setting.py
1 | import os |
#总结
整个程序看下来,我明白了以下几点
整个程序已manage.py下的utility类为基础实现了数据的存储,调用和删除。在func.py下又创建了一个manage父类和两个schools,teachers的子类,从而在utility上又增加了一层。所以整个程序主要是在这两个大类上进行函数的调用来实现题目要求,总体来说思路还是比较清晰的。
对比之前写的程序,每增加一个大类,都要再写一遍重复的关于这个类的数据调用,参见Day6,虽然当时也构造了Class,但是没有掌握面向对象的精髓所在,从上面的程序可知,当我们新增加了对象就没有必要再重复了,直接调用manage类里的函数就可以了,同理可证manage类,直接调用utility里的函数。
对于面向对象的掌握与熟练肯定不是短时间就能滚瓜烂熟的,还是需要充分的参考,借鉴和自己的上手。对于上面这么一个小程序就有很多东西可以挖掘和学习。运用OOP,要求很强的逻辑性和大局观,程序也要比面向过程精简了不少。