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)

相关推荐

  • 如何理解php中echo

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

    攻略 2021年10月22日
  • 怎么理解Python报表和日志

    技术怎么理解Python报表和日志本篇内容主要讲解“怎么理解Python报表和日志”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么理解Python报表和日志”吧!导出Exc

    攻略 2021年11月2日
  • 十大名木手串,全球十大最名贵木材有哪些

    技术十大名木手串,全球十大最名贵木材有哪些感谢推荐十大名木手串!我个人是很喜欢盘玩木材的,尤其是小叶紫檀。最近迷上了桃木,因为桃木那独有的纹理是非常吸引我的。如下这些就是最世界珍贵的十种木材。一、乌木乌木(阴沉木)兼备木

    生活 2021年11月1日
  • Redis中的两种持久化方式是什么

    技术Redis中的两种持久化方式是什么本篇内容主要讲解“Redis中的两种持久化方式是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Redis中的两种持久化方式是什么”吧

    攻略 2021年10月25日
  • c#怎么调用SSIS Package将数据库数据导入

    技术c#怎么调用SSIS Package将数据库数据导入本篇内容主要讲解“c#怎么调用SSIS Package将数据库数据导入”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“c

    攻略 2021年11月24日
  • 多用户注册登录函数封装版

    技术多用户注册登录函数封装版 多用户注册登录函数封装版要求:
    1.基于文件实现用户注册及登录功能
    2.多用户模式,注册登录功能可循环执行
    3.将功能封装成函数def login():"""用于用户登录的

    礼包 2021年11月15日