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)

相关推荐

  • SpringCloud微服务实战——搭建企业级开发框架,七):自定义通用响应消息及统一异常处理

    技术SpringCloud微服务实战——搭建企业级开发框架,七):自定义通用响应消息及统一异常处理 SpringCloud微服务实战——搭建企业级开发框架(七):自定义通用响应消息及统一异常处理??平时

    礼包 2021年10月27日
  • Vue兼容IE9全功能正常使用的解决方法是什么

    技术Vue兼容IE9全功能正常使用的解决方法是什么本篇内容介绍了“Vue兼容IE9全功能正常使用的解决方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情

    攻略 2021年11月11日
  • 不同程序员的Python代码风格有哪些

    技术不同程序员的Python代码风格有哪些这篇文章主要讲解了“不同程序员的Python代码风格有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“不同程序员的Python

    攻略 2021年11月18日
  • C++为什么要保持默认操作的一贯性

    技术C++为什么要保持默认操作的一贯性这篇文章主要介绍“C++为什么要保持默认操作的一贯性”,在日常操作中,相信很多人在C++为什么要保持默认操作的一贯性问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望

    攻略 2021年11月29日
  • 月亮思乡的古诗,关于月亮思乡的古诗有什么

    技术月亮思乡的古诗,关于月亮思乡的古诗有什么1、床前明月光,疑是地上霜月亮思乡的古诗。举头望明月,低头思故乡。(李白: 《静夜思》)2、乡心新岁切,天畔独潸然。老至居人下,春归在客先。岭猿同旦暮,江柳共风烟。已似长沙傅,

    生活 2021年10月23日
  • Bytom如何使用PAT树

    技术Bytom如何用PAT树本篇内容介绍了“Bytom如何用PAT树”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!为什么

    攻略 2021年12月20日