関東はまだ梅雨入りしていないのだが、実際にはとっくに梅雨入りしているのではないか、というくらいの雨天、曇天続き。ゴールデン・ウィーク空け頃から天候が怪しくなる、とは言われていたので、5月6日の外出日程を後にずらすことを考えていたが、予定通りに出かけておいて正解だった。
気象庁|令和4年の梅雨入りと梅雨明け(速報値)
天候による心理的影響、首から肩の痛みによる肉体的影響など、何かと前向きになることを妨害し、集中削ぐ要因が多いのが鬱陶しい。
日経平均、TOPIXともに上昇した。日経平均の上昇幅が大きいものの、上ひげ、下ひげ付の小休止、転換サインのローソク足なのが怪しい。
一方、TOPIXの上昇幅は小さいながらも、赤三兵からの上昇に加えて、100日移動平均を超えたことから、少し底堅さを感じる。
この勢いを捉えたのか、今日は”ひふみ”の上昇が大きかった。
日経平均 | 0.78% |
ひふみ | 0.77% |
ひふみワールド | 0.76% |
TOPIX | 0.46% |
さわかみ | 0.24% |
ひふみらいと | 0.23% |
ポートフォリオ | 0.11% |
ポートフォリオの動きが相対的に弱いのは、総じて構成銘柄の上昇が全体的に弱かったことを反映している。変動を抑えるために、変動の少ない銘柄の比率を増やした構成が、このような場面で仇になる。
第63回ISSスクエア水平ワークショップ
iss.iisec.ac.jp
今回のテーマは大変興味深いものだった。資料が配布されていれば、後からじっくりと読み直したい話題なのだが。資料が配布されないのが残念だった。
講座の録画、スクリーン・キャプチャは禁止されているのだが、後から読み返すことを前提に、スライドのスクリーン・キャプチャを取りながら臨むべきだと、認識を改めた。
Kotlin-インタフェイス、抽象クラス
Kotlinを通じて、オブジェクト指向の勘が戻ってきているのを感じる。インタフェイス、抽象クラスなど、説明を読みながらサンプル・コードを考えていると、軽い抵抗を感じながら前進している感じの手ごたえがあって、心地が良い。
🔎ロトの子孫-インタフェイス版
interface BasicSkill{ fun attack(){} fun guard(){} fun run(){} } open class BasicJob():BasicSkill{ override fun attack(){ println("攻撃した") } override fun guard(){ println("身を守っている") } override fun run(){ println("逃げ出した") } } class Fighter():BasicJob(){ fun doubleAttack(){ println("2回攻撃!") this.attack() this.attack() } } class Magician():BasicJob(){ fun magic(){ println("呪文を唱えた!") } } class Priest():BasicJob(){ fun pray(){ println("祈りをささげた!") } } fun main(){ val rhodesia = Fighter() val sumaltria = Magician() val moonburg = Priest() rhodesia.attack() rhodesia.doubleAttack() sumaltria.attack() sumaltria.magic() moonburg.attack() moonburg.pray() }
🔎ロトの子孫-抽象クラス版
abstract class BasicRole(name:String){ var name = name abstract fun attack() abstract fun guard() abstract fun run() } interface FighterSkill{ fun doubleAttack(){} } interface MagicianSkill{ fun magic(){} } interface PriestSkill{ fun pray(){} } class Fighter(name:String):BasicRole(name), FighterSkill{ override fun attack(){ println("${name}は攻撃した") } override fun guard(){ println("${name}は身を守っている") } override fun run(){ println("${name}は逃げ出した") } override fun doubleAttack(){ println("${name}の2回攻撃!") this.attack() this.attack() } } class Magician(name:String):BasicRole(name), MagicianSkill{ override fun attack(){ println("${name}は攻撃した") } override fun guard(){ println("${name}は身を守っている") } override fun run(){ println("${name}は逃げ出した") } override fun magic(){ println("${name}は呪文を唱えた!") } } class Priest(name:String):BasicRole(name), PriestSkill{ override fun attack(){ println("${name}は攻撃した") } override fun guard(){ println("${name}は身を守っている") } override fun run(){ println("${name}は逃げ出した") } override fun pray(){ println("${name}は祈りをささげた!") } } fun main(){ val rhodesia = Fighter("Rhodesia") val sumaltria = Magician("Sumaltria") val moonburg = Priest("Moonburg") rhodesia.doubleAttack() sumaltria.magic() moonburg.pray() }