个人对OOP的一些理解

前言

OOP是面向对象编程的意思(object oriented programming),是一种计算机编程架构,OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。

基本介绍

OOP : Object Oriented Programming 面向对象的程序设计。所谓“对象”在显式支持面向对象的语言中,一般是指类在内存中装载的实例,具有相关的成员变量和成员函数(也称为:方法)。面向对象的程序设计完全不同于传统的面向过程程序设计,它大大地降低了软件开发的难度,使编程就像搭积木一样简单,是当今电脑编程的一股势不可挡的潮流。

OOP 达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。OOP 主要有以下的概念和组件:

  • 组件 - 数据和功能一起在运行着的计算机程序中形成的单元,组件在 OOP 计算机程序中是模块和结构化的基础。

  • 抽象性 - 程序有能力忽略正在处理中信息的某些方面,即对信息主要方面关注的能力。

  • 封装 - 也叫做信息封装:确保组件不会以不可预期的方式改变其它组件的内部状态;只有在那些提供了内部状态改变方法的组件中,才可以访问其内部状态。每类组件都提供了一个与其它组件联系的接口,并规定了其它组件进行调用的方法。

  • 多态性 - 组件的引用和类集会涉及到其它许多不同类型的组件,而且引用组件所产生的结果依据实际调用的类型。

  • 继承性 - 允许在现存的组件基础上创建子类组件,这统一并增强了多态性和封装性。典型地来说就是用类来对组件进行分组,而且还可以定义新类为现存的类的扩展,这样就可以将类组织成树形或网状结构,这体现了动作的通用性。

由于抽象性、封装性、重用性以及便于使用等方面的原因,以组件为基础的编程在脚本语言中已经变得特别流行。PythonRuby 是最近才出现的语言,在开发时完全采用了 OOP 的思想,而流行的 Perl 脚本语言从版本5开始也慢慢地加入了新的面向对象的功能组件。用组件代替“现实”上的实体成为 JavaScriptECMAScript) 得以流行的原因,有论证表明对组件进行适当的组合就可以在英特网上代替 HTMLXML 的文档对象模型 (DOM) 。

OOP思想

面向对象编程技术的关键性观念是它将数据及对数据的操作行为放在一起,作为一个相互依存、不可分割的整体—— 对象 。对于相同类型的对象进行分类、抽象后,得出共同的特征而形成了类。面向对象编程就是定义这些类。类是描述相同类型的对象集合。类定义好之后将作为数据类型用于创建类的对象。程序的执行表现为一组对象之间的交互通信。对象之间通过公共接口进行通信,从而完成系统功能。类中声明的 public 成员组成了对象的对外公共接口。简单来说就是以功能为解决问题的中心。

用几张图来说明一下吧!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NBnPPwPS-1610261426033)(https://cdn.findcat.cn/images/articles/5ef9f8ffaa7d9.jpg “success”)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IkLHCkSG-1610261426035)(https://cdn.findcat.cn/images/articles/5ef9f911e3771.png “success”)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SDrX4wVa-1610261426037)(https://cdn.findcat.cn/images/articles/5ef9f924924a1.jpg “success”)]

总结

总的来说 OOP 思想就是为了方便了人与编程之间更加的接近,所有的对象被赋予属性和方法,结果编程就更加富有人性化。
但是 OOP 的编程思路会在性能上有所损失,世界上的东西不都是完美的,既然你想他在开发中更简单,更容易去理解,使编程更加的人性化,那么你就必须牺牲一点东西去代换这个,举个例子,你受聘于某游戏公司,公司让你开发出的游戏受用于更多的用户,使页面更加华丽,使游戏的运行帧数升高,那么你会发现这是根本不可能的事,除非你把整个服务进行升级,使其的并发量提高,代码之中能做的优化写程序的应该都能想到,但是在代码已经很优化的情况下,你需要去获得一些额外的东西,那么你就必须去升级你的硬件,这也就是有得必有失,这就是我理解的 OOP 面向对象思想。
可能理解的不太正确,但是先记录下来,以后有了更深的理解在进行更改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值