美文网首页
面向对象编程

面向对象编程

作者: fejavu | 来源:发表于2020-04-22 20:53 被阅读0次

根据 WikiPedia 的资料,面向对象编程最早的在 MIT 1960年的论文《LISP I Programmer Manual 》中:

Each of these atomic symbols has an association list* associated with it, and in fact the atomic symbol on the list of atomic symbols points to the location of the association list.
Note: In the local M.I.T patois, association list are also referred to as "property lists", and atomic symbols are sometimes called "objects"

可以看到,在1960年,M.I.T 的某个小组里就有了类似面向对象的定义:“每个原子粒度的 'Symbol' 都有一个相关列表对应这个它, 实际上原子粒度'Symbol' 都指向与之对应的相关列表的地址”

“注:在 MIT 内部环境里,相关列表也被称为 '属性列表',原子粒度Symbol
也被称作' Object 对象 '”

Javascript 的面向对象

最早的面向对象定义包含了两个要点:1. 属性列表;2. 列表对应的Symbol;

联系到今天 JavaScript 以及其他的面向对象语言,面向对象结构仍然是与1960年的定义类似的:成员属性+成员函数,对应一个对象

function Person(name, age, job) {
  this.name = name;
  this.age = age;
  this.job = job;
  this.myName = function() {
    return this.name;
  };
}

let alice = new Person('alice', 23, 'front-end');

for(key in alice) {
  console.log(key+':'+alice[key]);
}
/* 
"name"
"age"
"job"
"myName" 
*/

上述对象Person有的属性列表有四个,四个属性列表以及其对应的值组成一个Person对象。

但是在JavaScript中,对象是基于原型来实现的。alicePerson原型的一个实例,而 Person是基于Function的一个实例,因此也可以用原型的方式来实现面向对象编程,创建对象。

function People() {
}

People.prototype.name = 'alice';
People.prototype.age = 22;
People.prototype.job = 'front end';
People.prototype.myName = function() {
  console.log(this.name);
};

let person_one = new People();
let person_two = new People();
person_one.myName();
person_two.myName();

console.log(person_one.myName === person_two.myName);

相关文章

  • 面向对象_初识

    目录 面向对象编程介绍 类与对象介绍 私有属性与私有方法 面向对象编程 1. 面向对象编程介绍 面向对象编程:Ob...

  • 谈谈面向对象编程

    何为面向对象编程 面向对象编程简介 面向对象编程(Object-oriented Programming,缩写:O...

  • 面向对象基础

    面向对象编程包括: 面向对象的分析(OOA) 面向对象的设计(OOD) 面向对象的编程实现(OOP) 面向对象思想...

  • python-day14

    一、面向对象编程 编程思想:1.面向对象编程 --> 算法,逻辑2.函数式编程 --> 函数3.面向对象编程 ...

  • PHP全栈学习笔记8

    面向对象的基本概念,面向对象编程,oop,面向对象,面向对象的分析,面向对象的设计,面向对象的编程,什么是类。 类...

  • PHP全栈学习笔记8

    面向对象的基本概念,面向对象编程,oop,面向对象,面向对象的分析,面向对象的设计,面向对象的编程,什么是类。 类...

  • 面向对象浅析

    ### 面向对象编程和面向对象编程语言 面向对象编程的英文缩写是 OOP,全称是 Object Oriented ...

  • 2017-08-14

    面向对象编程用对象的思想去写代码,就是面向对象编程-面向过程-面向对象面向对象编程的特点1.抽象 抽取一样的东西...

  • 面向对象编程,类和对象

    面向对象编程 Java是面向对象的一门编程语言,所以余姚使用者具备面向对象编程的思想。 那么,什么是面向对象编程呢...

  • Swift和OC的区别

    一、编程范式 Swift可以面向协议编程、面向函数编程、面向对象编程。 OC主要是面向对象编程。 二、类型安全 S...

网友评论

      本文标题:面向对象编程

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