美文网首页
对象的产生通常基于两种基本方式,它们分别是以原型对象为基础产生新

对象的产生通常基于两种基本方式,它们分别是以原型对象为基础产生新

作者: sakura579 | 来源:发表于2020-12-17 02:10 被阅读0次

https://www.cnblogs.com/attilax/p/5384462.html
prototype-base vs class-based
基于“原型” vs 基于“类”

面向对象编程(Object Oriented Programming)只是一种编程范型(Programming Paradigm),其核心概念是“对象”(Object)。
在这一编程范型之下存在多种不同的风格(Style)如Smalltalk、C++、JAVA、C# 之类的面向对象编程语言称之为 Class-based OOP Language (基于“类”的面向对象编程语言),而如 NewtonScript、Self、Javascript 之类的语言则称之为 Prototype-based OOP Language (基于“原型”的面向对象编程语言)。

他们都属于面向对象编程语言,区别在于风格不同。除了这两种风格,我记得在论文里还看到过其他风格

基于原型的编程语言在一些领域会非常方便,NewtonScript 当初发表的论文就是应用于苹果早期的“平板”电脑 Newton 之上的,主要用于 UI 部分的编码。作者认为相比于基于类的编程语言,更灵活而且更方便。
关于方便性方面我不想灌输概念,因为这比较主观,容易引起争议。
两种编程风格并无优劣高下之分,主要的差别在于思想和应用领域。建议灵活取舍。

https://www.cnblogs.com/xyzq/p/11404228.html

OOP核心思想:封装,继承,多态。

理解:

对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。而每继承性是对具有层次关系的类的属性和操作进行共享的一种方式。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。

oop的基本思想:把组件的实现和接口分开,并且让组件具有多态性。

封装
封装:让抽象的事物保护自身的状态,防止非其他事物对其进行错误的状态改变操作。我们抽象完一个事物后,可能在特定的条件下,其本身的状态需要改变,但是这个改变并允许其他的事物来进行,这样的改变只允许这个事物认同的操作域来进行,可以是该事物本身,也可以是它信任的其他事物。这样我们就能对我们抽象完的每个事物进行自身数据的保护

继承
继承:让抽象出来的事物具有本应该具有的联系。我们能用类来描叙一个抽象的事物,同时能用对象来描叙具体的事物,但是这些事物都是独立的,彼此之间没有应该有的联系,这样的孤立设计并不符合现实逻辑,让事物之间的联系得到描叙,我们就需要继承,例如:发明自行车的人并不是一开始就发明了多人自行车,这些都是从双轮自行车演变和发展而来,但是他们都有共同的特点,有轮子,有车架子,等等。让我们用继承的关系把这两个现实的抽象联系起来,这样我们就能设计出不孤立的类,而是和其他类有联系的类。

多态
多态:用一种解决方案来解决对一类问题,对于不同的事物解决途径和结果不同。在C++中实现多态性有三种方法,分别是:虚函数,函数重载和运算符重载。这三种方法大家都可以看到我们解决问题的初衷是一样的,都是利用同名函数,同名的运算符号,这抽象出来也就是解决问题的方法,但是对于不同的事物的反应却是不同的,例如:当用一个getPadNumber()方法来得到普通自行车和双人自行车的坐垫数量的时候,返回的结果是一个和两个,这就是具体的事物返回的结果不同。

相关文章

  • 对象的产生通常基于两种基本方式,它们分别是以原型对象为基础产生新

    https://www.cnblogs.com/attilax/p/5384462.html[https://ww...

  • 介绍js中的原型

    原型 编程语言对面向对象的实现主流的有两种方式:基于类的面向对象和基于原型的面向对象。 基于类的面向对象 典型的语...

  • iOS面试题整理

    基础面试题一、两种拷贝的差别(1)浅拷贝:指针(地址)拷贝,不会产生新对象(2)深拷贝:内容拷贝,会产生新对象 二...

  • 3-9 原型链

    一为考察原型链打下基础,一为了解面向对象打下基础 创建对象有几种方法通常就三种方法:1: 对象字面量的方式var ...

  • Javascript-高级篇之面向对象

    面向对象 基于原型的面向对象 基于原型的面向对象方式中,对象(object)则是依靠构造器(constructor...

  • 原型模式

    该模式的思想就是将一个对象作为原型,对其进行复制、克隆,产生一个和原对象类似的新对象,用这种方式创建对象非常高效。...

  • JS中的面向对象

    对象 创建对象的方式 使用工厂方式创建对象 使用构造函数创建对象 原型 容易出现的问题 继承 原型继承(基于原型链...

  • JavaScript基础⑤ES6中的面向对象

    接续上篇JavaScript基础④基于原型的面向对象编程 前言 面向对象语言的基本特征:封装,继承,多态 。 这是...

  • Prototype(原型)

    创建一个新的对象,然后通过复制现有的对象,称为原型。原型本身使用模板创建,后续实例是克隆模板产生的。

  • 设计模式 -- 原型模式 (Prototype Pattern)

    定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象。通俗理解:一个对象的产生可以不从零开始,直...

网友评论

      本文标题:对象的产生通常基于两种基本方式,它们分别是以原型对象为基础产生新

      本文链接:https://www.haomeiwen.com/subject/cmjagktx.html