为什么要使用面向对象编程
最近在学习python,在看完python各种神一样的表达式之后,来到了python的面向对象部分,于是,一直在困扰我的问题又闪现出来:为什么要使用面向对象编程?脑海中拼命的回顾,C++,Java,还是只有基本的语法,关于为什么还是一直没有答案,于是谷歌了一下,这里有几篇比较好的解释:
1.http://mianshi.fenzhi.com/post/532.html
2.http://blog.csdn.net/Crazy_Dreamer/article/details/1567909
3.http://wiki.answers.com/Q/Benefits_of_object_oriented_programming
看完这些之后,我觉得面向对象变成具有如下优点:
1.接近现实生活,容易建模。生活中的事物就是一个个的对象,很容易建立两者之间的联系。
2.对象提供了一种好的组织数据的方式,通过对象,我们可以把混乱的数据整合到一个类中,形成一个整体,这样处理起来更加方便。
3.对数据的封装,面向对象提供了public,private等访问控制,能够防止外部对数据的非法访问。
4.代码的重用,面向的对象的继承,多态,接口实现等特性能够很容易的实现代码的重用,而同时,我们可以将类作为一个整体,随处使用,也是一个很好的重用方法
至于其他的可扩展性,可维护性,现在还没有很深的体会,应该看完设计模式之后再来领会。
转载于:https://www.cnblogs.com/keepHack/archive/2012/03/20/2407744.html
为什么要使用面向对象编程相关推荐
- 【面向对象编程】(4) 类的继承,重构父类中的方法
各位同学好,今天和大家分享一下面向对象编程中,类的三大特征之继承.主要介绍:子类继承父类的基本方法:重写父类的类方法:重构父类的初始化方法:super() 方法.本节主要是单继承,多继承在下一节中介绍 ...
- 【面向对象编程】(3) 类之间的交互,依赖关系,关联关系
各位同学好,今天和大家分享一下面向对象编程中,类之间的交互,类之间的依赖关系和关联关系.有不明白的可见前一章节:https://blog.csdn.net/dgvv4/article/details/ ...
- 【面向对象编程】(1) 类实例化的基本方法
各位同学好,本章节和大家分享一下面向对象编程的一些方法,通过一些案例带大家由浅入深掌握面向对象的编程. 1. 最基本的类实例化 创建类的方法是 class 变量名: ,实例化方法是 类名() ,分配属 ...
- C#编程概念系列(一):面向对象编程
系列文章索引目录:http://www.cnblogs.com/loner/archive/2013/05/09/3068211.html 引子: 面向对象编程:这个在当下已不是什么时髦的概念,但通过 ...
- JavaScript面向对象编程
自从有了Ajax这个概念,JavaScript作为Ajax的利器,其作用一路飙升.JavaScript最基本的使用,以及语法.浏览器对象等等东东在这里就不累赘了.把主要篇幅放在如何实现JavaScri ...
- python面向对象的优点_Python面向对象编程——总结面向对象的优点
Python面向对象编程--总结面向对象的优点 一.从代码级别看面向对象 1.在没有学习类这个概念时,数据与功能是分离的 def exc1(host,port,db,charset): conn=co ...
- 转载知乎上的一篇:“ 面向对象编程的弊端是什么?”
2019独角兽企业重金招聘Python工程师标准>>> 弊端是,没有人还记得面向对象原本要解决的问题是什么. 1.面向对象原本要解决什么(或者说有什么优良特性) 似乎很简单,但实际又 ...
- c语言面向对象编程中的类_C ++中的面向对象编程
c语言面向对象编程中的类 Object oriented programming, OOP for short, aims to implement real world entities like ...
- ruby 新建对象_Ruby面向对象编程的简介
ruby 新建对象 by Saul Costa 由Saul Costa Object-oriented programming (OOP) is a programming paradigm orga ...
- 面向对象编程概念_如何向6岁的孩子解释面向对象的编程概念
面向对象编程概念 by Alexander Petkov 通过亚历山大·佩特科夫(Alexander Petkov) Have you noticed how the same cliche ques ...
最新文章
- 2022-2028年中国废矿物油行业市场研究及前瞻分析报告
- 理解学习率以及如何提升深度学习的性能
- 数组 = 容器
- 最土团购系统数据结构数据字典二次开发宝典
- 自定义notebook扩展插件_Notebook各种操作
- python计时器timeit返回秒数_python中的计时器timeit的使用方法
- SSD框架训练自己的数据集
- linux 服务器账号及安全杂谈
- Nodejs学习笔记(四)——http协议与服务器
- toB产品经理的KPI
- 卢伟冰称天玑9000调校顺利 Redmi K50系列要来了
- JavaMail简单版实验测试
- 统计信号处理基础——估计与检测理论 Kay
- .net framework 3.5win10无法安装,一招解决win10无法安装.NET Framework 3.5
- PowerShadow Master(影子系统)
- 2021-02-09
- 数字签密算法JPBC实现
- VOLTE注册失败案例
- Android桌面悬浮窗口举例
- 浅谈心电信号处理(3)-- 心电滤波简述
热门文章
- 如何用绩效考核搞垮一个团队?
- 跨语言之间的socket通信(C--Java的握手)(基础篇转)
- 医药公司java,医药管理系统java版
- linux centos7.9中安装docker的3种方式-图解
- python tkinter库Entry控件Text控件
- debian apt-get php,Debian系统apt-get命令整理
- linux下mysql5.7创建用户_Linux下mysql5.7 创建、删除用户与授权
- 自动驾驶—全局定位的学习笔记
- 多目标跟踪——MOT数据集的学习笔记
- windows下vbs脚本隐藏控制台