smalltalk

Pluggable Adapter as mentioned in the GOF

自作多情 提交于 2020-06-16 01:33:12
问题 The related Posts on Stackover flow for this topic : Post_1 and Post_2 Above posts are good but still I could not get answer to my confusion, hence I am putting it as a new post here. MY Questions based on the GOF's Elements of Reusable Object-Oriented Software book content about Pluggable Adapters (mentioned after questions below), hence I would appreciate if the discussions/answers/comments are more focused on the existing examples from GOF regarding the pluggable Adapters rather than other

Pluggable Adapter as mentioned in the GOF

僤鯓⒐⒋嵵緔 提交于 2020-06-16 01:33:11
问题 The related Posts on Stackover flow for this topic : Post_1 and Post_2 Above posts are good but still I could not get answer to my confusion, hence I am putting it as a new post here. MY Questions based on the GOF's Elements of Reusable Object-Oriented Software book content about Pluggable Adapters (mentioned after questions below), hence I would appreciate if the discussions/answers/comments are more focused on the existing examples from GOF regarding the pluggable Adapters rather than other

What's so special about message passing in smalltalk

狂风中的少年 提交于 2020-05-26 11:15:22
问题 I was going through an introduction to Smalltalk. In C++, the functions declared inside a class can be called by objects of that class, and similarly in Smalltalk a keyword, termed as message, is written adjacent to the name of the object. (Don't know much but would also like to ask here whether in response to a message a unique method is there to be executed?) Basically, to my naive mind, this seems to be only a difference in syntax style. But, I wonder if internally in terms of compilation

Objective-C学习笔记

≯℡__Kan透↙ 提交于 2020-04-27 18:15:00
注: 本文首发于我的个人博客: https://evilpan.com/2019/04/05/objc-basics/ 如果你有其他语言的学习经验,要学习 Objective-C 的语法特性其实并不困难。正如我之前在 软件开发的一些"心法" 一文中所说,编程语言只是一个工具,工具本身不是目的,关键是要看你用来做什么。 而我学习 Objective-C 的理由也很简单,就是为了逆向破解iOS和macOS程序。不需要研究高深的语法糖和特性,只需要会写简单的应用,以及会看别人的代码。所以,你没看错,30分钟足矣。 什么是Objective-C Objective-C ,简称OC,是一种通用、高级、面向对象的编程语言。它扩展了标准的ANSI C编程语言, 将Smalltalk式的消息传递机制加入到ANSI C中。当前主要支持的编译器有GCC和Clang(采用LLVM作为后端)。 Objective-C的商标权属于苹果公司,苹果公司也是这个编程语言的主要开发者。 苹果在开发NeXTSTEP操作系统时使用了Objective-C,之后被OS X和iOS继承下来。 现在Objective-C与Swift是OS X和iOS操作系统、及与其相关的API、Cocoa和Cocoa Touch的主要编程语言。 Objective-C是C语言的严格超集

为什么 Java 不是纯面向对象语言?

白昼怎懂夜的黑 提交于 2020-04-24 20:17:02
什么是纯面向对象语言? 纯面向对象语言或完全面向对象语言是指完全面向对象的语言,它支持或具有将程序内的所有内容视为对象的功能。它不支持原始数据类型(如 int,char,float,bool 等)。编程语言满足七种标准可以就可以称为纯粹的面向对象语言,他们是: 封装 / 数据隐藏 继承 多态性 抽象化 所有预定义类型都是对象 所有用户定义的类型都是对象 对对象执行的所有操作必须仅通过对象公开的方法 为什么 Java 不是纯面向对象语言? Java 支持属性 1,2,3,4 和 6 但不支持上面给出的属性 5 和 7. Java 语言不是纯面向对象语言,因为它包含以下属性: 原始数据类型例如对象: Smalltalk 是一种 “纯粹的” 面向对象的编程语言,与 Java 和 C++ 不同,因为作为对象的值和作为基本类型的值之间没有区别。在 Smalltalk 中,原始值,例如整数,布尔值和字符也是对象。在 Java 中,我们将预定义类型作为非对象(基本类型)。 int a = 5; System.out.print(a); static 关键字: 当我们将一个类声明为 Static 时,可以在不使用 Java 中的对象的情况下使用它。 包装类: 包装类提供了将基元转换为对象和对象转换为基元的机制。在 Java 中,您可以使用 Integer,Float 等代替 int,float 等

2、Python与pycharmIDE安装

我的梦境 提交于 2020-04-06 15:13:07
1、Python基础入门 1.1、Python简介 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。 是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。 Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。 Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。 像 Perl 语言一样,Python 源代码同样遵循 GPL(GNU General Public License)协议。 现在 Python 是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用,指导其进展。 Python 2

groovy 使用

℡╲_俬逩灬. 提交于 2020-03-22 11:25:13
3 月,跳不动了?>>> 简介 Groovy是构建在JVM上的一个轻量级却强大的动态语言, 它结合了Python、Ruby和Smalltalk的许多强大的特性. Groovy就是用Java写的 , Groovy语法与Java语法类似, Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码, 相对于Java, 它在编写代码的灵活性上有非常明显的提升,Groovy 可以使用其他 Java 语言编写的库. Groovy语法特性 return关键字可省略, 方法的最后一句表达式可作为返回值返回 (视具体情况使用, 避免降低可读性) 应用场景 动态规则配置 参考: https://gitee.com/pengchua/groovyrule 来源: oschina 链接: https://my.oschina.net/pengchanghua/blog/3208188

为什么在匿名类中只能访问最终变量?

时间秒杀一切 提交于 2020-03-03 21:14:38
a 只能是最终的。 为什么? 我怎样才能重新分配 a 中 onClick() 方法中没有保持它作为私有成员? private void f(Button b, final int a){ b.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { int b = a*5; } }); } 单击后如何返回 5 * a ? 我的意思是, private void f(Button b, final int a){ b.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { int b = a*5; return b; // but return type is void } }); } #1楼 也许这个把戏给你一个主意 Boolean var= new anonymousClass(){ private String myVar; //String for example @Overriden public Boolean method(int i){ //use myVar and i } public String setVar(String var

Android MVP 详解(上)

故事扮演 提交于 2020-02-27 14:29:24
作者: 李旺成 时间:2016年4月3日 “ Android MVP 详解(下) ”已经发布,欢迎大家提建议。 MVP 在 Android 上的使用其实已经有挺长一段时间了,长到似乎有点“过时”了(目前风头正劲的是MVVM),那为什么现在还要讲 MVP。今天我想要讨论它的主要原因有如下几点: 1. MVP 并未过时,值得我们研究 2. 目前关于 MVP 的资料都不算太详尽 3. 由于能力和时间有限,本人拖到最近才下定决心写 说明:本文只是抛砖引玉,疏漏之处敬请谅解。 MVP 详解思维导图 目录 前言 一、什么是MVP 二、MVX解析 三、MVX与三层架构 四、Android上MVP的几种实现 五、最佳实践 六、进阶与不足 前言 2014年年底偶然得知在Android开发中出现了MVP这种模式,当时觉得这东西挺好,正好赶上公司要做一个新的小项目,于是尝试了一下。仿照网上的Demo分出View、Model、Presenter层,抽取View接口,看起来像那么回事的用MVP完成了整个项目。因为项目简单,期间也没有遇到什么坑,但是总觉得还有那些地方不对。当时网上一些关于Android MVP的介绍都有点浅尝辄止,一个登录或者根据地区查询天气等的小Demo,没有实际在项目中应用的示例,所以在用MVP做完一个小项目之后还是不敢在主项目中轻易尝试。首先,主项目比较混乱,改动起来工作量很大

Drawing A Rectangle in Smalltalk Squeak

我的梦境 提交于 2020-02-04 04:08:49
问题 given two integer variables 'a' and 'b' in a rectangle class, how do you draw a rectangle? I'm new to smalltalk and im studying it for a course. thanks! 回答1: Squeak uses Morphic as its default UI. So the simplest thing would be to create a Morph : RectangleMorph new extent: 300@200; openInWorld Evaluate all three lines at once. This creates a new RectangleMorph instance, sets its extent to a Point created from 300 and 200 (by sending the message @ to 300 with an argument of 200 ), and also