成功的面对对象语言的五个基本特性——Alan Kay
1.万物皆为对象。
将对象是为奇特的变量,它可以存储数据,除此之外,还可以要求他在自身上执行操作。
2.程序是对象的集合,他们通过发送消息来告知彼此所要做的。
要想请求一个对象,就必须对该对项发送一条消息。更具体地说,可以把消息想象为对某个特定对象的方法的调用请求。
3.每个对象都有自己的由其他对象所构成的存储。
可以通过创建现有的对象的包的方式来创建新的对象。因此,可以在程序中构建复杂的体系,并且将其复杂性隐藏在对象的简单性背后。
4.每个对象都拥有其类型。
按照通用的说法,“每个对象都是某个类的一个实例”,这里“类”就是“类型”的同义词。每个类最重要的区别于其他类的特性就是“可以发送什么样的消息给它”。
5.某一特定类型的所有对象可以接受同样的消息。
成功的面对对象语言的五个基本特性——Alan Kay的更多相关文章
- atitit,it人怎么样才容易事业成功?? 有以下五种性格的人容易成功
atitit,it人怎么样才容易事业成功?? 有以下五种性格的人容易成功 有以下五种性格的人容易成功 一.不撞南墙不回头的人:由于这种人有脚踏实地,做事拼命.不撞南墙不回头的性格特点, 势有不到黄河心 ...
- NET Framework 4.5 五个新特性
.NET Framework 4.5 五个新特性 Framework 4.5 已经开发了几个项目了,想去研究一下VS 2015 里面的跨平台..不过好像4.5内核新特性还没搞明白呢还是先看看4.5内核 ...
- Javascript面对对象. 第五篇
继承 继承是面向对象中一个核心的概念.其他正统面向对象语言都会用两种方式实现继承: 一个是接口实现,一个是继承. 而ECMAScript只支持继承,不支持接口实现,而实现继承的方式依靠原型链完成. / ...
- Python3入门(五)——高级特性
一.切片 对于取指定索引的值,python提供了切片来简化傻傻的循环 list2 = ["apple", "water", "banana" ...
- linux初级学习笔记五:bash特性详解!(视频序号:03_2,3)
本节学习的命令:history,alias,ualias,\CMD 本节学习的技能: bash的特性 光标跳转 查看命令历史 命令历史的使用技巧 给命令起别名 命令替换 文件名通配符 shell: ...
- 快速了解 JavaScript ES2019 的五个新增特性
ES2019 规范是对 JavaScript 的一个较小的补充,但它仍然带来了一些有用的功能.本文将向你展示五个 ES2019 新增的特性,这些特性或许可以让你的编程轻松一点.这些特性包括 trimS ...
- TypeScript入门知识五(面向对象特性二)
1.泛型(generic) 参数化的类型,一般用来限制集合的内容 class Person { constructor(private name: string) { } work() { }}var ...
- TypeScript入门知识五(面向对象特性一)
1.类(class) 类是TypeScript的核心,使用TypeScript开发时,大部分代码都是写在类里面的. 类的定义 ,属性控制符 public(允许外部访问,也是默认的方式),private ...
- Unity3D编辑器扩展(五)——常用特性(Attribute)以及Selection类
前面写了四篇关于编辑器的: Unity3D编辑器扩展(一)——定义自己的菜单按钮 Unity3D编辑器扩展(二)——定义自己的窗口 Unity3D编辑器扩展(三)——使用GUI绘制窗口 Unity3D ...
随机推荐
- Pandas 转换连接
# 导入相关库 import numpy as np import pandas as pd 拼接 有两个 DataFrame,都存储了用户的一些信息,现在要拼接起来,组成一个 DataFrame. ...
- [考试反思]0924csp-s模拟测试51:破碎
总参赛人数:15 有点菜. 不知道是撞了什么大运没有滚出A层. 但是一回到A层就暴露出了一个大问题:码速. 不是调试速度,,就是纯粹码的速度... 边讲考试状态边说吧... 上来肝T1.一看,是个换根 ...
- 使用Typescript重构axios(三十二)——写在最后面(总结)
0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...
- 过滤广告(只能发布 [a-zA-z0-9及汉字,;?.]) ,排除其他特殊符号
/** * 过滤广告(只能发布 [a-zA-z0-9及汉字,;?.]) ,排除其他特殊符号 * Created by 1 on 2015/8/19. */ public class FilterA ...
- haproxy+keepalived练习
小的网站结构 说明:如果部署在云上,比如阿里云上,不需要自己部署keepalived,直接买阿里云的slb即可,slb然后分发流量到两台haproxy机器 一.先部署两个web服务器 编译安装ngin ...
- 02-MyBatis执行Sql的流程分析
目录 获取Mapper 简单总结 重要类 参考 本博客着重介绍MyBatis执行Sql的流程,关于在执行过程中缓存.动态SQl生成等细节不在本博客中体现,相应内容后面再单独写博客分析吧. 还是以之前的 ...
- CentOS 6.4 configure error的解决方法
资料来源:http://blog.sina.com.cn/s/blog_62426dcf0100f2rz.html 虽然上面的文章是针对centOS 5写的,不过经测试也可用于centOS6.4. 自 ...
- [LC]237题 Delete Node in a Linked List (删除链表中的节点)(链表)
①中文题目 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点. 现有一个链表 -- head = [4,5,1,9],它可以表示为: 示例 1: 输入: hea ...
- pat 1132 Cut Integer(20 分)
1132 Cut Integer(20 分) Cutting an integer means to cut a K digits lone integer Z into two integers o ...
- PostgreSQL空间数据库创建备份恢复(PostGIS vs ArcGIS)
梯子 PostGIS创建备份恢复ArcGIS创建备份恢复 PostGIS 创建 安装就不必介绍了,windows下使用安装工具Application Stack Builder,选择空间扩展PostG ...