Webでオブジェクト指向プログラミング
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/12/02(金) 11:18:17ID:lnZM9OlM・OOP、MVC、デザパタなどのコンセプト的な話題
・OOにまつわる言語比較(言語批判はその言語で開発してる人に失礼にあたることが多いのでなるべく禁止でお願いします)
・保守、再利用、生産性、開発環境などの実践的な話題
・Webサーバ、DBなどの外部との親和性に関する問題
・学習、教育などの方法論
などなど。
前スレ
PHPでオブジェクト指向プログラミング
http://pc8.2ch.net/test/read.cgi/php/1113724557/
0385nobodyさん
2008/12/09(火) 16:06:48ID:???0386nobodyさん
2008/12/09(火) 16:33:10ID:???継承と多態の意味くらいが分かる。
0387nobodyさん
2008/12/12(金) 01:33:02ID:???class Trapezoid
{
private upper ;
private lower ;
private height ;
function __construct( $u , $l , $h ) {
$this->upper = $u ;
$this->lower=$l;
$this->height=$h;
}
略
}
0388nobodyさん
2008/12/12(金) 01:39:31ID:???0389nobodyさん
2008/12/12(金) 01:59:29ID:???うむ。やはり宿題か。だったら
面積求める抽象クラス
と
継承して作った四角や三角
っていうのが本当に伝えたかったことじゃないだろかなんて思った。
0390nobodyさん
2009/01/01(木) 09:21:40ID:???利用者ごとにログインし、見た目をカスタマイズ出来るような仕組みを考えています。
で、ログイン状態やユーザー情報というのはModelに相当すると思うんですが、
見た目の情報はModelには入りませんよね。
そもそもViewの情報はどこで管理すべきなのか。
Viewで良いのか。だとして、ユーザー情報との同期はどうとれば良いのか。
分からないところだらけですが、よろしくお願いします。
0391nobodyさん
2009/01/01(木) 09:22:32ID:???0392nobodyさん
2009/01/01(木) 09:50:26ID:???だからこそ質問しているわけですが・・・
0393nobodyさん
2009/01/01(木) 09:59:06ID:???0394nobodyさん
2009/01/02(金) 22:50:28ID:???前提知識がないから、回答する側も途方にくれてしまう。
入門書等でWEBアプリってどういう風に作るのか、大まかにつかんだ方がいいかも。
0395nobodyさん
2009/04/17(金) 23:34:39ID:???0396nobodyさん
2009/07/09(木) 01:01:48ID:qbvjwLD60397nobodyさん
2009/10/23(金) 00:12:07ID:???class hogeClassUnit extends dbConnectBase{
private var $name; // 以下20項目くらい
public function set_name($str){ // 受け取ったデータを加工したり精査したりでこれも20項目くらい
public function get_name(){ // クラスから取り出すだけ 以下20項目くらい
public function register(){ // ここまできて、登録とか何たらとかの処理を書き始める。
こういう風に細かくやるのが普通なのでしょうか?
単純なことが多いとはいえ、ずいぶんとソースコードが長い
0398nobodyさん
2009/10/23(金) 00:27:46ID:???OOPの表面だけ真似るんじゃなくて本質を学んだほうがいいと思うぞ
0399nobodyさん
2009/10/23(金) 03:13:03ID:???0400age
2009/11/12(木) 11:26:43ID:FhD9csekfunction getA(){
{
return new b('hoge');
}
}
class b{
public $a;
protected $_z;
public function __construct($data)
{
$this->a = $data+$data;
$this->_z = $data;
}
}
上記のような、クラスがあって、aから、bが返されるのですが、bのprotected
のデータを取得したい場合はどうすればいいでしょうか。
たとえばbを継承したb'を作成し、zを取り出すメソッドを作っても、bのャCンスタンスを麹成しているのbヘ
aなのでb'のインスタンスは作られないですよね。
0401nobodyさん
2009/11/12(木) 11:44:55ID:???>たとえばbを継承したb'を作成し、zを取り出すメソッドを作っても、bのインスタンスを作成しているのは
>aなのでb'のインスタンスは作られないですよね。
aでb'のインスタンスを作るように変更すればいいのでは。
>上記のような、クラスがあって、aから、bが返されるのですが、bのprotected
>のデータを取得したい場合はどうすればいいでしょうか。
getZというメソッドを作るのはだめなの?
0402nobodyさん
2009/11/12(木) 11:51:13ID:???変更しないで挙動を変えたいなら、それこそa'とb'を作ってメソッドをオーバーライドするしかないかと
0403sage
2009/11/12(木) 14:29:44ID:FhD9csek有難う。
0404nobodyさん
2010/05/13(木) 18:19:29ID:9BJiXr6fhttp://okamikakushi.net/jp/wbiyhi1
俺やってみたけど、マジ寝てるだけで金くれたぞ!!
0405nobodyさん
2010/05/15(土) 17:20:55ID:???0406nobodyさん
2010/05/23(日) 16:33:14ID:ReStOCg4再利用したも猛者はいるか?
0409nobodyさん
2010/05/27(木) 12:15:02ID:???0410nobodyさん
2010/05/27(木) 20:21:31ID:P724q4SGって言われたら、どのようなオブジェクトを作りますか?
0411nobodyさん
2010/05/28(金) 20:25:52ID:???クライアントサイドプログラムはWeb制作板へ
って言います
0412入社1ヶ月の新人が書いてきた。うれしい。
2010/07/14(水) 20:35:40ID:???<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script>
//<!--
window.onload = function(){
kanako = createGirl('かなこ');
miku = createGirl('みく');
haruhi = createGirl('ハルヒ');
};
/*
* クローンを作成
*/
function createGirl( name )
{
var superClass = new girlClass();
var superClone = function(){};
superClone.prototype = superClass;
//これで他に影響ないクローン完成
var instanse = new superClone();
//いわゆるコンストラクタ
instanse.myName = name;
return instanse;
};
0413入社1ヶ月の新人が書いてきた。うれしい。
2010/07/14(水) 20:36:21ID:???* おんにゃのこクラス定義
*/
function girlClass()
{
//プロパティ宣言
girlClass.prototype.myName = "";
//振る舞い
girlClass.prototype.writeMyName = function()
{
document.write("私は"+this.myName+"だよ。<br />");
};
}
//-->
</script>
</head>
<body>
<input type="button" value="Execute" onclick="onClickExecute()" />
<script type="text/javascript">
function onClickExecute()
{
//おんにゃのこに名前を言ってもらう。
kanako.writeMyName();
miku.writeMyName();
haruhi.writeMyName();
}
</script>
</body>
</html>
0414nobodyさん
2010/07/15(木) 02:09:27ID:???0415nobodyさん
2010/07/15(木) 04:17:09ID:hmDV/lDTそんな事する意味が全くわからんwwww
なんのメリットがあるの??wwww
プロパティ宣言とかめっちゃウケルwww
0416nobodyさん
2010/07/15(木) 13:49:38ID:???なんでそんなことしなくちゃいけないんだよってやつ。
0417nobodyさん
2010/07/15(木) 16:43:10ID:???kanako = new girlClass('かなこ','girlmessage');
miku = new girlClass('みく','girlmessage');
haruhi = new girlClass('ハルヒ','girlmessage');
};
function girlClass( name , target )
{
girlClass.prototype.myName = name;
girlClass.prototype.target = target;
って書いたら全員ハルヒになったぞ
0418nobodyさん
2010/07/15(木) 16:49:47ID:???親クラスとして定義されている関数は触るなと。
了解した。
0420nobodyさん
2010/07/15(木) 17:01:58ID:???0421nobodyさん
2010/07/15(木) 17:10:38ID:hmDV/lDT0422nobodyさん
2010/07/15(木) 17:52:55ID:???君は何か勘違いしている様だけど、聞いて揚げ足取りをしたいんじゃなくて、
単純に君の意見が面白そうだから聞いてみたかっただけなんだよ。
もっとまともなレスを期待してたんだけど。ごめんね。
ちなみに君は揚げ足を取られる事を恐れているようだけど、それは違うと思う。
揚げ足を取られるのは、君に隙があるから。
隙だらけの人間ってのはそうやって余計な所でつまらない恥をかく事になるもんだよ。
他人につっこまれる事は、自身の知識をより客観的で多角的なものとする為に
有益な指針となるものだと思うな。
0423nobodyさん
2011/10/14(金) 13:22:35.87ID:oOJ5iuHvパラメーターと処理を
外部からひっかきますことができない思考ってことですか?
0424nobodyさん
2011/10/14(金) 14:09:07.20ID:???0425nobodyさん
2011/10/15(土) 08:06:59.53ID:WVUj974dCSSのカスケードみたいにカプセルを別のカプセルに引き継ぐ思考 →継承
?????? 思考 → ポリモーフィズム
0426nobodyさん
2011/10/19(水) 11:59:18.77ID:PXmn+I34手続き型の記述がカプセリングされて入ってる・・・
と思って間違いないですか?
0427nobodyさん
2011/10/29(土) 05:40:27.70ID:???0428nobodyさん
2011/10/29(土) 11:06:32.36ID:???次。
0429nobodyさん
2011/12/09(金) 14:10:33.19ID:jzegoNJ7継承元の親クラスが、なんなのか?によって、
同じ名前のクラスが 全く違う動きをする
みたいなかんじですか?
となると子クラスには、親クラスがこうの時はこう、
親クラスからこういうパラメータが取ってこれてたらこう
みたいな処理がかかれてるんですか?
0431nobodyさん
2011/12/12(月) 20:11:59.00ID:???そんなことされたら困ります
0432nobodyさん
2013/02/14(木) 12:44:29.53ID:yCRXEb/V例えば、部署を選択すると社員を一覧表示する機能を考えた場合、
社員テーブル(社員NO、社員名、部署NO)と部署テーブル(部署NO、部署名)を作成し、
単にSQLで一覧を取得すれば良いと思うけれど、オブジェクト指向では違うと認識。
そこで、「社員クラス」「部署クラス」「社員部署クラス」を作成。
社員クラス(社員NO、社員名、[社員コード、社員名を返すメソッド])
部署クラス(部署NO、部署名、[部署コード、部署名を返すメソッド])
社員部署クラス(社員NO、部署NO、[社員NO、部署NOを返すメソッド])
とりあえずテーブルも上記3テーブル。
また機能毎に「選択画面クラス」と「一覧表示クラス」を作成。
@選択画面クラス
1.部署クラスをnew
2.[部署コード、部署名を返すメソッド]で部署コード、部署名を取得
A一覧表示クラス
1.社員部署クラスをnew
2.選択画面で選ばれた部署コードをもとに[社員NO、部署NOを返すメソッド]で社員NOを取得
3.社員クラスをnew
4.[社員コード、社員名を返すメソッド]で社員コード、社員名を取得
これで考え方としてはあってますか?
部署コードを社員クラスに持たせるのは変?
0433432
2013/02/14(木) 13:33:18.72ID:???明らかに勘違いしていることが分かった
0435nobodyさん
2013/10/19(土) 11:41:11.05ID:???こりあん えくすてんど こっくろーち いんぷりめんと ないんせんちみーたーかのん
■ このスレッドは過去ログ倉庫に格納されています