2025年4月24日「Javaの本を読んだよ」
どうもうな獣の化身。
そう! それがあるごん怪獣の真の姿。
どうもー! あーありがとうございますー。
MacBookなんて何台なんぼあってもええですから。
え、どないした?
オカンが言うには、怪獣じゃない言うねん。
ほな怪獣ちゃうやろ。
もう少し詳しく教えてよ。
名前がおがたって言うプログラミング好きのフリーターらしいねん。
そりゃあ怪獣やないか。
でもオカンが言うには、あるごんって言ってるらしいねん。
ほな怪獣ちゃうかー。
もう少し詳しく教えて。
などという応酬が続き……。
僕は怪獣だった。
?
エセミルク◯ーイです。
ミルクボーイさん、最近見ないですけど、頑張ってるのかなあ。( 鼻ホジホジ
どこかで元気でしょう!!
今日は深夜から朝にかけて井上のJava2を読んでてすげえ疲れました!
ふう……。
さっき読了しました。
コンストラクタについて、型とインスタンス生成について、が詳しく学べます。
なんと1000p超えの本です。
すげえな。
よく書いたなw
あれをじっくり読めば、インスタンス生成についてはよく理解できるでしょう!
ただインターフェースの説明ザックリすぎて、初心者は「?」のまま終わっちゃうのでは? と思いました。
インターフェースの有用性はどこにあると思いますか?
三秒考えてください。ただの抽象メソッド宣言装置と思ってませんか?
インターフェースを使うと一元管理して、同じ名前で違うインスタンスを生成し、同じメソッド名で違う処理ができるという魔法です。
ポリモーフィズムを発揮できる素晴らしい仕組みです。
例えば、
Car test = new Toyota(10);
Car test2 = new Suzuki(10);
とインスタンス生成できます。
Carはなんぞ?
interface Car{
int drive();
}
というインターフェースです。
これを実装したのが、
class Toyota implements Car{
int speed;
Toyota(int speed){
this.speed = speed;
}
public int drive(){
return this.speed;
}
}
※なろうの仕様上インデントが効かないので、かなり不恰好です。笑
似たように、Suzukiも作りますが、Suzukiでは、スピードが10プラスされる仕様だったとします。
そうするとこのインプリメントされたやつは、処理が異なりますよね?
上はコンストラクタを使い初期化、メソッド名がインターフェースの抽象メソッド名と同じです。
で、じゃあ最終的にシステムにエコーする文を書いてみましょう。
System.out.println("スピード: " + test.drive());
System.out.println("スピード: " + test2.drive());
と書けます。
おや?
メソッド名が同じだぞ!!
そうこれがインターフェースの魔力なんです。
これがインターフェースを使ってなかったら、それぞれで名前が異なりますし、インスタンスの型も異なります。
全部異なります。
だから一個修正したら、芋づる式に直すことになります。
これなら、インターフェースの継承先というか実装先で書き換えれば、オッケーということでメインの処理は書き換えなくていいんです!!
そして型の確認はインターフェースの名前をチェックすればおっけー!!
エ!?
すごくね!!
となったら嬉しいんですが、わかりましたかね??
ザックリ言うと、同じ名前で違う処理をすることができる。
ポリモーフィズムを最大限に利用していることになります。
ポリモーフィズム?
多態性ですね。
ガーガーと鳴くのならアヒルだというやつです。
これを書かないと、初心者は混乱する気がします。
ただ抽象化すればいいプログラムになるということではなく、抽象化すれば同じ名前で違う処理ができるから直す場所は限られるし、プログラムとしてまとまりがいいことになります。
メイン処理を書き換えなくていいというわけです。
そこを書いたほうがいいのかなーという点で、星3.5としました。
そこがちゃんと説明されていれば、文句なしの4でしたね。
4ってなかなかないですよ。僕の採点では。
5が最上級で、6は一年に一回あるかないかレベル。
3.5は上澄みの本です。
なので、かなり高評価でした。
気になる方はチェック!!
それを読んでました。
今日は他二つほど読む予定でしたが、体力が1000pも読んだらなくなったので、今日はもう同人作業します!!
同人はもうあまり動きませんね。
ピークがちょうど去年から一昨年くらいだったと思います。
一昨年は、確か新着が正方形サムネだけだったんですよね。
だからアクセスが多かった。
今はパケ絵ですから、スクロールしないとない位置に置かれるとまったく売れません。笑
冗談ではなく。
そこは運です。
マジで運です。
その上でパケ絵と題材がよくないと売れない。
じゃあどうしたらいいかを言いますが、これしかないと思います。
長く予告を出せ。
それだけです。対策は。
それしかないです。そこでブーストかけて、初動で左上に近づける、アクセスを増やすしかないです。
それか、アフィリエイトで拾ってもらうように体験版を必ず作ること。
その二つですね。
初動をよくして左上を狙う。
そのために予告を長く出す。
そしてアフィリエイトでの無断転載されるのを狙う。
これしかもうないんじゃないかなと思ってます。作戦として。
僕も今年に入ってめっきり売れなくなりました。
貯金で何とかですね。
アフィリエイトはそれこそ運なので、予告しかないです。
予告でいかに多くのいいねを稼げるか?
それだけをアドバイスしておきます。
はい。
まあこのあと作業します。
で、夜に勉強が少しできたらいいなあって感じですね。
PythonでAPI設計の本を読みたいと思います。
それは明日中に読んでしまいます。
次は、Javaのサーブレットの本を読みます。
HTMLと組み合わせてウェブアプリを作ります。
まあイメージとしては、index.htmlをクリックしたら、Javaでコーディングテストが受けれる仕様にします。
そういう簡易的なアプリです。
JavaScriptではなくあえてJavaでやります。
JavaScriptも書く気はします。
そういう感じです。
明後日はインフラ関係特化型の日とします。
そして!!
競プロと小説執筆。競技プログラミングと小説を趣味としようと決めました。
競プロを趣味で、極めます。
まずLeetCodeで慣れてから、競プロをやります。
アルゴリズムとデータ構造を理解し、何度もアルゴリズムを書いてから、いっぱいEasyから Mediumまで解きます。
そして慣れたら、AtCoderで競プロをやっていきます。
最終的にはトップコーダー? くらいに極めたいなと。
競プロは、実務には残念ながら活きないらしいです。笑
だから趣味としたいなと。
それを少しずつやっていけたらなと思ってます。
来月から競プロ本格始動したいですな。
今日は同人をノルマ分描いたら、アルゴリズムとデータ構造の勉強をしますかね。
そしてそれが終わったら、APIの本で実践と。
よし!!
というわけで、今回はJavaの本を読んだよという話でした。
インターフェースについて少しでも理解できた! って方がいれば本望です。
ではではー!