java怎么通过混入来组合类
发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,今天小编给大家分享一下java怎么通过混入来组合类的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来
千家信息网最后更新 2024年09月21日java怎么通过混入来组合类类
现在,让我们看一个更有趣的例子,其中使用了抽象类: 该类中有一个抽象的类型 接下来,我们将实现一个具体的类(所有的抽象成员 现在我们创建一个特质,也继承于 该特质实现了 下面我们要把 新的类
今天小编给大家分享一下java怎么通过混入来组合类的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
当某个特质被用于组合类时,被称为混入。
abstract class A {
val message: String
}
class B extends A {
val message = "I'm an instance of class B"
}
trait C extends A {
def loudMessage = message.toUpperCase()
}
class D extends B with C
val d = new D
println(d.message) // I'm an instance of class B
println(d.loudMessage) // I'M AN INSTANCE OF CLASS B
D
有一个父类 B
和一个混入 C
。一个类只能有一个父类但是可以有多个混入(分别使用关键字 extend
和 with
)。混入和某个父类可能有相同的父类。abstract class AbsIterator { type T def hasNext: Boolean def next(): T}
T
和标准的迭代器方法。T
、 hasNext
和 next
都会被实现):abstract class AbsIterator { type T def hasNext: Boolean def next(): T }
StringIterator
带有一个 String
类型参数的构造器,可用于对字符串进行迭代。(例如查看一个字符串是否包含某个字符):AbsIterator
。trait RichIterator extends AbsIterator { def foreach(f: T => Unit): Unit = while (hasNext) f(next()) }
foreach
方法--只要还有元素可以迭代( while (hasNext)
),就会一直对下个元素( next()
) 调用传入的函数 f: T => Unit
。因为 RichIterator
是个特质,可以不必实现 AbsIterator
中的抽象成员。StringIterator
和 RichIterator
中的功能组合成一个类。object StringIteratorTest extends App { class RichStringIter extends StringIterator("Scala") with RichIterator val richStringIter = new RichStringIter richStringIter foreach println }
RichStringIter
有一个父类 StringIterator
和一个混入 RichIterator
。如果是单一继承,我们将不会达到这样的灵活性。以上就是"java怎么通过混入来组合类"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。
特质
知识
篇文章
组合
字符
迭代
元素
内容
字符串
成员
方法
类型
不同
很大
有趣
相同
接下来
例子
关键
关键字
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
企业微信银行软件开发
csgo什么平台有重庆服务器
嵌入式软件开发商精装修房子
网络安全行业吃香吗
河南小型服务器
淘宝服务器有数据库吗
网络安全主题的四格漫画
HCML启动器怎么导入服务器
客户服务器应用顺序
如何进入公司服务器文件管理
软件开发的前端岗位职责
慧科新闻数据库 苏大
微信服务器卡
office 数据库软件
动漫设计与制作游戏软件开发
合肥软件开发公司知乎
上传照片出现数据库查询不正确
数据库不包含语录
司天象网络技术有限公司
应用软件开发协议
软件开发权威的证书
服务器安全狗 彻底删除
网络安全工程师学习计划
留言板 数据库
警察怎么通过dna数据库找人
股份制银行网络安全公司
周村企业管理erp软件开发公司
服务器管理界面启用桌面体验
数据库mvc
南关区现代化网络安全常见问题