「ジェクト」を含む日記 RSS

はてなキーワード: ジェクトとは

2011-03-19

ドラゴンボールで学ぶオブジェクト指向Z

これは http://anond.hatelabo.jp/20110316202255 の続編です

GTをやる前に改を書いてくれている人がいてとてもしっかりした内容なのでちゃんと勉強したい人はそっちを見てね!

d:id:ryoasai:20110317 - ドラゴンボールで学ぶオブジェクト指向 改 | 達人プログラマーを目指して

またオブジェクト指向については

d:id:m-hiyama:20080109 いまさらながらだけど、オブジェクトクラスの関係を究めてみようよ | 檜山正幸のキマイラ飼育

がとても詳しいです。合わせて読むとかなりしっかりと理解出来ると思います。

変な書籍を買うよりこちらがオススメです

はじめに(いいわけ

ホットエントリに行くとは思っておらず、皆様ありがとうございます

ドラゴンボールオブジェクト指向にする」というコンセプトではなく、「オブジェクト指向を(無理矢理)ドラゴンボールで説明する」という遊びだったので

プログラマーの方々にはツッコミを受けてしまいましたがここは遊びだと思って楽しんで下さい…。

ドラゴンボールは小さい頃から大好きでしたが流石にうるおぼえ過ぎました

専門家の方々からも厳しいツッコミを受けました

それはさておき「説明する題材を決める→好きな漫画から無理矢理当てはまりそうな例を考える」という思考実験なので、気が向いた方は色々考えてみると楽しいと思います。僕は楽しかったです

ジョジョの奇妙な冒険で学ぶオブジェクト指向

 スタンドとか波紋法とか色々面白そうです

ジャニーズで学ぶオブジェクト指向

 これは難易度が高そうです

BLで学ぶオブジェクト指向

 継承誘い受け、移譲=ヘタレ攻めだと思います。

結論

やっぱりドラゴンボールで例えると分かりやすいな!

無理がある!


ドラゴンボールで学ぶオブエジェクト思考Z ドラゴンボールで学ぶデザインパターン

デザインパターンとはドクターゲロが考えた「こうやって設計すれば色々捗るぞ」という例のことです。実際はGoFという人たちが考えたもので23個のよくあるパターン名前を付けて整理してくれたわけですね。

23個の中にはブルマさんですらわからいものが多いので(さすがドクターゲロですね)良く使う、代表的な物をいくつか紹介しま

Singletonパターン

Singleton世界に一つだけしか存在出来ないようにする方法です

balls = new DragonBalls(); //これでは誰でもドラゴンボールを作れてしまう!
balls.callShenron();

クラスの中にはいくつかのメソッドがありますが、簡単に言うと外から呼べるもの、外からでは呼べないもの

二種類があります。そうやってメソッド保護することで世界崩壊を防ぐわけですね。

基本的な戦闘力をアップさせるには本人の努力が必要になり、外から簡単に挙げられてしまうとジャンプ三本柱が外れてしまいます。

(某漫画などは努力しなくともあがったりしますが)

ただナメック星の最長老界王神などはかなり偉いので、本人の才能を引き出すことが可能した

現実には思いつきのような仕様を後から言われることが多々あります。困ります

//地球上にひとつだけ存在するドラゴンボールをつくろう
class DragonBalls{
	private DragonBalls(){
	      //ドラゴンボールを作れないように生成メソッド保護します。
	}
	static function sagasouze(){
		static singleton_dragonball;
		//ドラゴンボールを生成。
		//DragonBallsクラスの中なので、保護してある「new DragonBalls()」を呼べます。
		if(!singleton_dragonball)singleton_dragonball = new DragonBalls();
		return singleton_dragonball;
	}
}

これで界王神から怒られることもありませんね。

プログラマーは神なのでドラゴンボールを作れます


Proxyパターン

何かの処理を行うためにProxy、代理人を立てる設計です

地球のみんなは地球しか話せませんが、ナメック星にいるクリリンを通して願いを叶える必要があります

クリリンももちろん地球しか話せませんが、ナメック語を話せるデンデがいるため、地球のみんなは願いを叶えることが出来ます

class Kuririn{
     private dende = new Dende();
     
     function request( wish1, wish2, wisth3){
		this.dende.request(wish1);
		this.dende.request(wish2);
		this.dende.request(wish3);
     }
}

kuririn.request(
	"ピッコロを生き返らせてくれ",
	"ピッコロナメック星へとワープさせてくれ",
	"ナメック星にいる孫悟空フリーザ以外を全員地球へとワープさせる"
);

この場合メリットはデンデが何をやっているかクリリンプログラミングした人が知る必要が無いということです

デンデを通して願いと伝える実装だけ行えば大丈夫です

地球の人はナメック星にいるナメック星人が「デンデ」であることを知る必要もありません。

それでも願いは叶うんです

本来であればデンデやクリリンは願いが叶うのを待つ必要がありましたが、地球の人は一気に伝えることが可能なように設計しました

それでないと不便ですからね。

//デンデクラスナメック星人英語でNamekianらしいですclass Dende extends Namekian{
	function translate(word){
		namekian = *****//ナメック語に翻訳します。
		return namekian;
	}
	function request(wish){
		static polunga;
		if(!polunga){
			polunga = DragonBalls.spell("タッカラプト ポッポルンガ プリピット パロ");
		}
		polunga.ask(this.trasnlate(wish));
	}
}




Template Method

大まかなアルゴリズムだけ決めておいて、実装はサブクラスに任せる設計がTemplate Methodです

ナメック星に行く方法を考えた時いくつかの方法がありました。古い宇宙船を探してきて直して載せて…っていちいち書くより同じメソッドナメック星に行けたほうが便利ですね。

abstract class WayToNamek{
	abstract function prepareSpaceShip();
	abstract function launchSpaceShip( ship ) ; 
	function gotoSU839045YX( people ){
		ship = prepareSpaceShip( );			//船を修理しまship.load(people);					//人を載せます
		this.launchSpaceShip(ship);	//船を出発します。
	}
}

ナメック星に行く方法を定義したので「ブルマクリリン悟飯」組と「悟空」をそれぞれナメック星に連れて行きましょう。

way = new WayWithKamisamaShip();
way.gotoSU839045YX( buruma, kuririn, gohan );

way = new WayWithSaiyajinShip();
way.gotoSU839045YX( goku );

と簡単に方位SU83、距離9045YXまで乗員を連れて行くことが出来ます

つの方法を実装します。神様の船を修理して行く方法と、サイヤ人の船(悟空が乗ってきた船)で行く方法の二つです

//神様の船で行きますclass WayWithKamisamaShip extends WayToNamek{
 	function prepareSpaceShip(){
 		return new KamisamaShip(); //船を準備します。神様の船を使います。
 	}
 	function launchSpaceShip(ship){
 		ship.inputByVoice("ナメック星に出発");	//
 	}
 }
 class WayWithSaiyajinShip extends WayToNamek{
 	function prepareSpaceShip(){
 		return new SaiyajinShip();      //船を準備します。サイヤ人の船(フリーザの船?)を使います。
 	}
 	function launchSpaceShip(ship){
		//audio = new HighSpecAudio();
 		//ship.setAudio(audio);
 		ship.turnOnCenterButton();	//真ん中のボタンを押すだけ
 	}
 }

元になる船も違いますし、発射の仕方も違いますが同じ呼び出し方が出来ます

オーディオの位置が決まりませんでしたが、今回の運用では不要とのクライアントからのご意見したのでだったので

せっかく用意したオーディオ無駄になりましたが、コメントアウトしてあります


他のパターン

他にもまだまだあります。のんびり紹介していこうと思います。

ではでは。

2008-11-05

アイフォーンに限らない話だけど

フロッピーゴミ箱につっこむとイジェクトとか、appleの発想っていまいち直感的ではないよね。

コンテキストメニューキーボードマウスボタンコンビネーションなんだっけ?

あれに慣れられる人が脱ガラパゴスなの?良いよ俺ゾウガメで。

2007-05-26

OSXUSBメモリ抜くときに「安全に取り外せます」と言ってほしい。

ほら、取り出しボタンおしてアイコン消えても、まだアクセスランプが点滅してたり、アイコン消えてるのに抜いたら警告でたりするでしょ。

あれどーにかならないんですかね。

昔見たく勝ってにイジェクトしてくれないかな。笑

2007-05-15

http://anond.hatelabo.jp/20070515131639

ツンデレ……じゃなくてデレツンだよ。

怒りの告知期間は実は結構長め。でもタイムアップした時の爆発力が尋常じゃない。

普段は神のように優しくて(って神様か)何でも許してくれそうだからっていい気になってると、堪忍袋の緒が切れた時がすごく恐い。

それに嫉妬深くて、他の神様への浮気を許してくれない。

でもよく読んでみると、ヘブライ人が他の神様浮気した時でも、ほんのちょっとくらいなら大目に見てもらってるんだよな、実は。

異教徒の神々の祭壇を破壊して祭司を殺していた神の預言者のくせに、他の異教徒の神様にちょっとだけ浮気してた人がいたように思う。うろ覚えだけど。

有名な例では、十戒に出てくるモーセの兄のアロンも、金の子牛の像の作成プロジェクトリーダーになってたけど、周りの子牛崇拝者たちが殺された反面、彼だけ無罪放免されてる。

お付き合いとかで断り切れないとかそういう事情を加味してとか、何かあったのかもしれないけど。

2007-05-08

Flashがもっと本格的に

http://anond.hatelabo.jp/20070508141439

アクションスクリプトいまいち直感的にわかりづらい。

あんま組んだことないけど…。

DRMとかの暗号化の技術を導入してくれたらいろんなものが解決するとおもう。

でもクライアントジェクトごときがあまりにいろんなことができるとほとんどブラウザだよね。

まさに軒先貸して母屋を取られるが状態。

2007-03-13

手間をかけてくれた方へ返信

格差の話で思い出した人の話の周辺についカッとなった

の拙いエントリトラックバックを頂いたので、お返事しておきます。

まず、私が書いた上のエントリーを読む人は、少なくともインターネットに接続できる環境にあると想像します。そして、はてな匿名ダイアリーアクセスしています。

その場に何かを書く場合、大抵の読者はワーキングプアーとは言えないでしょう。携帯電話や他の端末からアクセスできるとか、印刷したものを読めるといった可能性については、その点は申し訳ない、普通PCによるインターネット接続環境がある人以外のことは考慮に入れていなかった。この部分については私の考えが及ばなかったところです。生活の中でインターネットに接続できる状況は、判例には詳しくありませんが、日本においてはまだ「最低限度の文化的生活」であるとは認められない贅沢な行為である、と認識されている気がします。

とりあえず、torlyさんにお勧めしたいのは、そこまで切羽詰っている状況であるのならば、まずは日雇いなりなんなりで軍資金を稼ぐのが妥当な戦略だと思います。広島県内におけるセミナー開催の具体的な情報は私は持っていません。また、みすぼらしい格好についてはそんなに問題ないかと思いますが、これもご自身が気になさるようでしたら、上下2万円のスーツを新調できるまでセミナーへの参加を引き伸ばしても、人生における決定的な打撃にはならないかと思います。広島の事情には詳しくないのですが、だいたい一ヶ月もあれば十分かと予想します。

morutanさん、あなたほどの行動力があれば私の言葉は不要でしょう。私がメッセージを伝えたかった対象は、あなたのような行動を起こす勇気が出ないひとたちです。しかし、せっかくまとめていただいたようですから、目を通させていただきます。ただひとつ、私が用いた「責任」という言葉は、誰かの利益を明確に害するような、法的な意味での用法であることだけは断っておきます。たま刑事事件でも「酒を飲んでいて責任能力がなかった」というような言い訳があるそうで、そのような事情が正当な理由になるはずがないことは周知のとおりです。また、引用が多くなるかと思いますが、著作権等の法律における慣例上の範囲に留めようという努力をいたします。

努力すれば報われる」、ということみたいなのでワーキングプアの皆さんは彼の勤めている会社、もしくは彼が運営している会社を目指すとよいと思う。そこでは、「ハケンに対する差別もなく、フリーターでもやる気と能力があれば差別せず正社員に取り立てられ、非正規雇用社員だからといって突然に解雇されるということはない」、のだろう。(すばらしい)

正直な話、私は経営にも人事にも携わっていないので“無責任”な発言になってしまいますが、やる気をわかりやすい形で提示しつづけ、なおかつ能力がある(私の定義では、リアルタイムに成果を出し続けていることです)ならば、ふつうの会社でクビにはなりません。

面接などにおいて能力を証明するのは各自の工夫になりますが、資格を取るなり、自分で何かしらの具体的かつ実行可能なロジェクト提案を面接プレゼンテーションするなり、方法はあります。就職に関する本を書店立ち読みする程度は多くの人にとって不可能ではないと考えます。また、ブログ「分裂勘違い君劇場」には参考になると思われる記述が多く見受けられますので、こちらをご参照になることもお勧めできるかと思います)。

都合のいいように編集するほど低いプライドは持ち合わせておりません。ご安心なさってください。自分の中で矛盾することはできるだけ排除できるよう工夫して生きています。

さて、要約すれば、「格差格差いって保障が欲しいんだろ?その前に努力しろ!」、って言いたいみたいだ。

保障については全く考慮にありませんでしたが、一体どこからそのような意図を汲み取られたのでしょうか?私はたしかに文章を書きなれておらず、現に何人かに誤解を与えてしまっていますので、後学のためにも具体的にご指摘いただければ幸いです。また、私は激務をこなすタイプではありません。忙しすぎると人生に工夫を取り入れる余裕がなくなりますので、休日は休むし、夜は家で夕食を作って食べています。

どうせ読まないのだろうから要約すると、上記エントリ後段の内田センセからの引用で、「努力もしないでただ人の持ってるポストを狙うというのは社会は赦さないだろう」、ということは含ませてある。そして、団塊ポストを狙う非正規雇用者が将来そのポストに着いたとして、そのポストを下の世代に譲るかどうかという問題も。

要約までしていただく親切さ、恐れ入ります。嫌味ではなく、本当に私も見習いたいと本心から思っています。ただ、あなたのブログは横に広くて読みづらいですね。私の後輩がこのようなホームページを作成してきたら、その後輩に対する私の評価はすこし下がるでしょう。これは工夫が足りない。ウインドウサイズに合わせて横幅を変えられるテンプレートに変更なさると読者にやさしいかと思います。

また、どうせ読まないとまで言われてしまったので読んでみようと努力してみたのですが、参照のエントリの内容が不勉強のため背景知識がわからず読解できなかったので、そのエントリで参照されていたエントリを読もうとしたのですが、、というループを2回繰り返したところで諦めました。あなたのblogの記事の書き方の問題か、私がリテラシーが無いことが悪いのか、そこは第三者の方に判断していただければ嬉しいのですが、これは期待できそうもありません。ですから、私が折れましょう。あなたのブログを読解できるリテラシーは、私には存在していません。これは私の怠慢によるものなので、マンガばかり読んでいないで岩波文庫資本論でも読もうかと思います。おそらくそこまでの意欲が私にはないのですが。

現在の「格差」論というの民主主導による祭り的なものに利用されて何も変わらず終わりって可能性もあるのだろうから

同様に、私のリテラシーの欠如によって理解ができませんでした。気が向いたら精進いたします。

そういう実感は(他人様のエントリだが)こちらに詳しい

いったいいくつのエントリーを参照させるおつもりですか?読みましたけども。え?これ読んでも文脈に関係ないんですか!?私は怠慢なため速読技術を身につけていないので、時間があまりにも浪費されて悲しくなってきました…。

このあとワーキングプアの話に移っていらっしゃいますが、ワーキングプアは私の想定した読者に入らないというのは前述のとおりです。

「それがオレが毎日がんばってることとどう関係するの?(オレがんばってんだから何言ってもいいんじゃないの?)」

私自身が頑張っていると一度でも言いましたでしょうか?最近学童よろしく私には根気が少々欠けておりますので、自分の記事を読み返す気力がありません。でも頑張りました。たしかに「経験則」などという表現を用いていました。だからといって、何を言ってもいいなどということは全く考えていません。自分の深層心理など把握できていませんし、だから証明もできませんが、私はそのように自分を信じています。

「ほうしゅうが低いひとやがんばろうとおもってもがんばれないひとのことはみくだしてもいい」んだよね?

なるほど、ではもっとがんばってそれなりの待遇を掴んだぼくは君のことを見下してもいいわけだ。はてぶに書いたコメント、『たぶんオレの現在いる環境のほうがこの人や元エントリの人より良いわけだが・・』、はそういう意図から書いた。

ギロン全体の内容からすれば関係ないが、こういう形にすればいまのポジションやそれを掴むために努力したということをひけらかしたい彼のプライドをくすぐれると思って置いといたらしっかり釣れた。

見下した覚えはありません。対等な立場で非難したつもりです。そして私は努力して高い地位を得たなどと表明していません。むしろ「自分がそこまで言えるような立場にないな。」と書いているくらいだ。私は若いし、まだまだ社会的に立派に認められるほどの成果も出していない。正直、社会的に見た場合の地位は普通でしょう。ただし、向上心を持っている自信はある。自分は将来リッパになるぞ、という決意は持っていて、成果を出そうと日々過ごしている。

彼は彼の責任努力したら報われる社会を作ってくれるんだろう

ええ、その努力はしますよ。仕事をするんなら社会をよくしてナンボだ、という個人的なポリシーを持っています。先のエントリーも、くすぶっていて一歩を踏み出せないひとが一人でも微量の行動力を得てくれたら、と思って書いたものでした。

っていうか、責任という言葉意味は分かってる?

私の定義は明確に述べました。今度はあなたの番だ、とも言いません。正直、あなたにはどんどん興味が失せている。嫌いですらない。稼いで社会貢献してもいるようだから、私がメッセージを伝えたい対象にあなたは全く入らない。これくらいは私の勝手だろう。あなたの中での責任という言葉の定義は知らないが。

自分の子どもが同じような状況に置かれたときのこ

子どもにはそのような状況を味あわせるつもりが無い。また、どこかに書いたが、私は仮定の話にはあまり興味が無い。あるのは現実のなかの確かな私の身体だ。

まぁ、「子ども作らない」だの「2??30年後にはまたバブル」、「オレが社会を変えてみせる」といったちゃぶ台返しもあるのだろうけど。後者2点だったらそれはもう万々歳で。

あら、引っかかってしまいました。私は社会を変える工夫をしますよ。こう叫ぶ私のことを「痛い」とあなたが言うのは勝手です。同様に、私がどのような思想・良心に基づいて行動をしようと、最低限のルールは守る限り(たとえば法律)、私の勝手です。最後に意見が一致しましたね、強いシンパシーを覚えます。まさに「万々歳」ですね。

最後に謝らなくてはならない。あなたの気分を害した。それについては、心底、申し訳ないと思っている。私の理想は、誰の気分も害することなく生きることです、そのために自分の態度をカイゼンしながら生きていきたい。だからあなたとのやりとり勉強になった。また、もう一点。関連の参照エントリに挙がっている3つの長文を読む気力が残っていない。でもがんばって読みました。しかし読解力が残っていない。というか、私にリテラシーが無いことは私も反対していないから、私の。

へんじがない。ただのしかばねのようだ。

[ハテブ]

morutan お返事, しょっぱい, なんだかなぁ, まん延する××, 偽善 なるほど、増田アクセスしてる人限定だったわけだ。そして「ニート」として脳内設定してなにか教訓めいたことをご教授されていたらしい。てか、格差社会という言葉誤用していた、と。書く前に調べればいいのに

保障についての私の記述の指摘、私が何を言ってもいいと考えていると予想された根拠、私があなたを見下したと感じらた理由。私があなたに解説を求めた一切にあなたは(現時点では)答えていない。これでは、対等な議論を放棄されたと私が感じ取っても仕方ないだろう。さらに私はあなたに、最初のエントリーを書いた対象が「ニート」に限定されるという誤解までもを与えてしまった。格差社会についての本は何冊か読んだが、私のリテラシー欠如によってそれぞれの本で定義が異なっていたように認識していたので、どういった用法が「誤用」になるのか、よろしければ教えてほしく、ない。あなたの意見にはもう目を通したいとは思わない。ただ上でも繰り返したように、あなたが書くなら私は読むかもしれない。しかしおそらくもう反論はしないだろう。ただ上でも繰り返したように、反論するかもしれない。ここまで譲歩すれば、行動の選択は私にあるだろう。

繰り返しになりますが、あなたのことは嫌いにすらなれない。本当に興味が無い。ここに反論を事細かに書いたのは、私のためでもあなたのためでもなく、あなたの反論によって「私がメッセージを伝えたい人たち」が戸惑うことを避けたかったからだ。

最後に。あなたが社会的に優れた地位にいるとは私は信じない。このことに不満があるだろうか。あるのだとしたら、それは仕方ない、お互いに理解がし合えない存在であったということでしょう。お疲れ様でした。

ログイン ユーザー登録
ようこそ ゲスト さん