面向对象编程的特点(前端是否适合使用面向对象的方式编程)
本文目录
前端是否适合使用面向对象的方式编程
这里是丁哥开讲,作为一名从事20多年软件开发的资深程序员,我来说一下我的体会。
前端开发当然可以使用面向对象编程概念。在这个基础上我在着重强调一下,面向对象编程,不仅对前端非常有用,对后端当然也是非常有用的。我们这个问题就专门针对前端来谈一谈。
前端我们关注的是界面的设计。那么一个界面之中会分为几个区域,每个区域里面又分为几个子区域。这些大大小小的区域我们都可以定义为一个对象,俗称组件。这些组件可能会有一些共性,比如说都会有初始化函数和释放函数。那么我们就可以把这些共性的方法放到一个基本组件里面,俗称基类。
基本组件可以定义为抽象的组件也可以定义为实际使用的组件。基本的方法也可以手工调用也可以靠整个架构来进行自动的调用。如果你用过angular,vue, react这些架构的话,我相信你知道我在说什么。
除了组件的设计和定义以外,在前端也需要定义一些非界面性的类,或者其他的逻辑单元,这些非界面的类和逻辑单元,用来存储前端的数据和逻辑计算。如果对这一部分使用面向对象变成概念的话,会降低程序的复杂度,增加程序的可维护性和可扩展性。
如果你使用typescript, 这样的面向对象编程语言来开发前端的话,那自然的,你已经有面向对象编程的概念了。这门语言是Javacript的超集。如果你有面向对象编程的经验,学习学好这门语言根本不在话下。
即使你在使用JavaScript, 你也可以通过函数的方法来定义原型基类,然后通过在扩展的函数里面定义扩展原型,这样你新的函数既可以享有原有函数的所有方法也可以添加上新的功能实现这实际上就是父类和子类的一个概念。
实际上所有的typescript代码,最后在运行的时候都需要编译成JavaScript。
也就是说所有的typeacript面向对象的编程方法,在编译后的JavaScript, 你都可以找到对应的例子。
说完了 JavaScript相关的知识, 再来说一下前端开发离不开的样式语言。现在比较流行的样式语言是sass家族, 诸如less, scss。他们最终都会编译成传统的CSS语言。所不同的是这些流行的样式语言提供了面向对象的编程概念。在写这些样式语言的时候,可以像面向对象语言一样使用基本的类,扩展的类,基本的函数和扩展的函数。与此同时,这些新的样式语言都支持数结构。那么数结构本身就有子节点,父节点的概念。这是文档模型DOM本身的对应关系。
这一步也就引申到了html语言本身。这门标记语言自身作为一棵树存在。通过这棵树你可以追溯到你想要的那一部分内容。这个过程本身就是把整个文档作为一个树对象来进行操作的。
好了,以上是我作为一名资深程序员的个人见解,请在下方留言告诉我你的想法,我们可以继续探讨,感谢关注丁哥开讲我们下次再见。
关于面向对象和函数式编程,到底如何选择
问题有些不准确,函数在面向对象编程和结构化编程里都是存在的。对象里的方法可以看作是一个函数,同时也可以自定义一个函数调用对象的方法实现一定的功能。同时不是面向对象的语言编程肯定没有面向对象编程,因为就没有对象的概念。但面向对象语言编程肯定也离不开结构化编程,比如用c#编写一个桌面程序,单击一个按钮打开一个文件,这是一个过程,可以看作是结构化编程,在这个过程中调用file对象。
更多文章:
java基础知识点思维导图(搞Java的年薪40W是什么水平)
2024年6月23日 17:19
论坛管理系统数据库(Discuz,论坛的数据库配置文件是哪个)
2024年7月3日 02:36
c语言数组从小到大(c语言编程实现把整形数组a[6]按照从小到大升序排列)
2024年8月27日 01:15
oracle10g升级到11g(oracle10g rac 数据怎么迁移到 oracle 11g rac)
2024年6月13日 09:00
js replace替换最后一个(js 替换字符串中最后一个逗号为冒号)
2024年9月26日 22:55
记事本vbs表白代码(抖音表白代码电脑弹窗表白怎么制作附制作方法)
2024年4月2日 07:19
js正则表达式分组匹配(js 正则表达式 匹配,必须由数字字母特殊符号组成的一段字符)
2024年7月22日 20:17
prefetch count(如何测试 rabbitmq 的性能)
2024年7月22日 10:15