Scala的二维布局库和抽象类怎么使用

技术Scala的二维布局库和抽象类怎么使用本篇内容主要讲解“Scala的二维布局库和抽象类怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Scala的二维布局库和抽象类

本文主要解释如何使用Scala的2D布局库和抽象类。感兴趣的朋友不妨看看。本文介绍的方法简单、快速、实用。让边肖带你学习“如何使用Scala的2D布局库和抽象类”!

二维布局库

创建一个用于制造和渲染2D布局元素的库,每个元素将代表一个用字符填充的矩形。为了方便起见,该库将提供一个名为“elem”的工厂方法来从传入的数据中构造新元素。例如,您将能够通过工厂方法以下列方式创建带有字符串的元素:

elem(s 3360 string): Element如您所见,该元素将由名为Element的类型建模。您将能够在元素的上面或旁边调用,传入第二个元素,并获得一个结合了这两个元素的新元素。例如,以下表达式将构建一个包含两列的较大元素,每列的高度为两列:

Valcolumn1=Elem ('hello ')上方Elem ('* *') Valcolumn2=Elem ('* * ')上方Elem ('world ')栏1旁边栏2打印此表达式的结果将是:

Hello * * * * *世界布局元素是一个很好的例子,在这个系统中,对象可以通过简单的组件和组合运算符来构建。在本章中,我们将定义类,以便元素对象可以由数组、行记录和矩形3354简单部分构建。我们还将定义上面和旁边的组合运算符。这种组合运算符也经常被称为combinator,因为它们将某些区域的元素组合成新的元素。

用组合器的方式思考通常是实现库设计的好方法:它可以回归到考虑应用领域中构建对象的基本方法。什么是简单对象?用什么方法可以用简单的物体构造出更有趣的物体?这些组合是如何组合在一起的?最常见的组合是什么?他们符合什么有趣的规则吗?如果你对这些问题有很好的答案,你的图书馆设计就会走上正轨。

抽象类

我们的* * *任务是定义代表布局元素的元素类型。因为元素是二维字符矩形,包括成员,所以指向布局元素的内容是合理的。内容可以表示为字符串数组,其中每个字符串代表一条线。因此,内容返回的结果类型是数组[字符串]。代码10.1展示了它的样子。

在这个类中,内容被声明为未实现的方法。换句话说,方法是类Element的抽象:抽象成员。具有抽象成员的类必须通过在class关键字前添加抽象修饰符来声明为抽象的:

抽象类元素{ DEFContents : array[string]}代码10.1定义了抽象方法和类。

抽象类元素.抽象修饰符指示类可能有未实现的抽象成员。因此,您不能实例化抽象类。如果您尝试这样做,您将会得到编译器错误:

scalanewelementconsole :5: error : classelementabstract;请注意,类元素的contents方法没有抽象修饰符。如果一个方法没有实现(即没有等号或方法体),那么它就是抽象的。与Java不同,抽象修饰符在方法声明中不是必需的(或允许的)。你拥有的方法叫做具体。

至此,相信大家对“如何使用Scala的2D布局库和抽象类”有了更深的理解,下面就来做一些实际的工作吧!这是网站。更多相关内容,可以去相关渠道查询,关注我们,继续学习!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/140955.html

(0)

相关推荐

  • Python大神利用正则表达式教你搞定京东商品信息的示例分析

    技术Python大神利用正则表达式教你搞定京东商品信息的示例分析Python大神利用正则表达式教你搞定京东商品信息的示例分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能

    攻略 2021年10月25日
  • 毅字五笔怎么打,毅日语怎么读,用拼音注音

    技术毅字五笔怎么打,毅日语怎么读,用拼音注音毅字读音:yì毅拼音:yì,注音:一ˋ,部首:殳部,部外笔画:11画,总笔画:15画五笔86:UEMC,五笔98:UEWC,仓颉:YOHNE,郑码:SUGQ四角:07247,结

    生活 2021年10月22日
  • 利用PHP使用Redis常见的使用场景有哪些

    技术利用PHP使用Redis常见的使用场景有哪些这篇文章主要为大家展示了“利用PHP使用Redis常见的使用场景有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“利用PHP

    攻略 2021年11月25日
  • 蛋清打发,蛋清打发不起来的原因是什么

    技术蛋清打发,蛋清打发不起来的原因是什么您好,很高兴来回答您的这个问题蛋清打发。依我个人的制作经验,蛋清打发不起来的原因有以下几个关键点:首先,鸡蛋的选择。用来做蛋糕的鸡蛋,必须使用新鲜的鸡蛋。通常情况下,鸡蛋放在冰箱时

    生活 2021年10月27日
  • mysql如何进行索引修改

    技术mysql如何进行索引修改这篇文章主要介绍“mysql如何进行索引修改”,在日常操作中,相信很多人在mysql如何进行索引修改问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql如

    攻略 2021年12月2日
  • 怎么用EthMon.php监听以太坊代币转账交易

    技术怎么用EthMon.php监听以太坊代币转账交易怎么用EthMon.php监听以太坊代币转账交易,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。EthMo

    攻略 2021年10月23日