カプセル化(英語:encapsulation)とは、オブジェクト指向を構成する概念の一つで、
オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、
オブジェクトの実際の型を隠蔽したりすることをいう。
偏差値の低い学校向けの情報処理系教科書において「大変すばらしいものであり絶対に使うように」と大体的に宣伝された。
一方、カリフォルニア大学バークレー校の有識者を中心としたインターネットを作った人たちは「階層化の有害性」として
「絶対に使うな」としている。大雑把にいうと、その時は良くても、将来的な改修の際に隠蔽されたデータに
アクセスできないと解決できない問題が出てきて、結果的にデスマーチに陥るというのである。
オブジェクト指向の発案者であるアラン・ケイもコーディング規約(頭文字にアンダースコアを付けるなどの命名規則)で
縛る程度にすることを推奨しており、アラン・ケイが関わったオブジェクト指向プログラミング言語にはどれも「private」
という概念はない。
https://monobook.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96
前前スレ
オブジェクト指向ってクソじゃね?
https://mevius.5ch.net/test/read.cgi/tech/1535085129/
前スレ
オブジェクト指向ってクソじゃねぇよ? Part2
https://mevius.5ch.net/test/read.cgi/tech/1539872441/
探検
オブジェクト指向はクソじゃなかったよ Part3
■ このスレッドは過去ログ倉庫に格納されています
2018/11/22(木) 20:14:06.80ID:egOZHV+V
2018/12/17(月) 14:20:49.68ID:DklsKoO9
アナルプレイしたいです
3デフォルトの名無しさん
2019/05/11(土) 18:10:29.36ID:Se4Lj3bD こっちのスレもあんのかよw
まともなシステムを開発した経験がある奴いる?
まともなシステムを開発した経験がある奴いる?
2019/05/11(土) 18:25:28.21ID:D877RybE
まともなシステム開発 = オブジェクト指向開発ということでいいか?
2019/05/11(土) 19:42:20.72ID:Se4Lj3bD
>>4
限定はしないが
限定はしないが
6デフォルトの名無しさん
2019/10/07(月) 22:03:51.08ID:VbH2HhFT ところで「チンポがシコシコする」という日本語表現は、文法的に正しいのだろうか?
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンボ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンボ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンボ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンボ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
2020/01/08(水) 21:26:39.35ID:0mytWgwM
age
2020/01/09(木) 01:52:27.36ID:icgXcqUH
スレタイと本文がすでに喧嘩してる
9デフォルトの名無しさん
2020/01/16(木) 15:04:41.07ID:TuYxoCDY オブジェクトのクラスは概念であり、インスタンスは現物である。
チンポはチンポでも人それぞれいろいろなチンポがある、それはクラスとしてのチンポ。
しかしながら自分のチンポは一つしかない、それがインスタンスなのである。
チンポはチンポでも人それぞれいろいろなチンポがある、それはクラスとしてのチンポ。
しかしながら自分のチンポは一つしかない、それがインスタンスなのである。
10デフォルトの名無しさん
2020/01/16(木) 15:32:15.05ID:l5J0jQZo 一般論としてのチンポ論と、自分のチンポが現在どうしているかは、明確に区別して考える!
staticなクラスメソッド・クラス変数は実行時にすでにメモリに呼び出されています。
これに対し非staticな変数やメソッドは、newでインスタンス化した時にメモリに呼び出されます。
staticなクラス変数は、処理の結果によって値が変わるのではなく、クラス毎で統一して持つ値になります。
staticなクラスメソッド・クラス変数は実行時にすでにメモリに呼び出されています。
これに対し非staticな変数やメソッドは、newでインスタンス化した時にメモリに呼び出されます。
staticなクラス変数は、処理の結果によって値が変わるのではなく、クラス毎で統一して持つ値になります。
11デフォルトの名無しさん
2020/01/16(木) 15:42:23.73ID:l5J0jQZo 非 static なメンバはインスタンスと関連して記憶されています。なので、クラスから非 static
なメンバへアクセスしようとすると、どのインスタンスの メンバ にアクセスしたいのかコンパイラは判別できません。
そのためクラスから非 static なメンバにアクセスすると、コンパイルエラーとなります。
同様にクラスに関連付けられた static なメソッドから 非 static なメンバにアクセスすると コンパイルエラーになります。
なメンバへアクセスしようとすると、どのインスタンスの メンバ にアクセスしたいのかコンパイラは判別できません。
そのためクラスから非 static なメンバにアクセスすると、コンパイルエラーとなります。
同様にクラスに関連付けられた static なメソッドから 非 static なメンバにアクセスすると コンパイルエラーになります。
12デフォルトの名無しさん
2020/01/16(木) 15:44:45.48ID:l5J0jQZo >そのためクラスから非 static なメンバにアクセスすると、コンパイルエラーとなります。
チンポは他人に見せるものではない!
チンポは他人に見せるものではない!
13デフォルトの名無しさん
2020/01/16(木) 15:51:36.03ID:l5J0jQZo チンポについて一般論として語るのは良いが、自分のチンポは隠蔽(カプセル化)されるものである!
14デフォルトの名無しさん
2020/01/18(土) 16:22:08.88ID:xirPIu0H 本体とチンポは、別々のインスタンスとして考えなければならない!
15デフォルトの名無しさん
2020/01/18(土) 16:24:23.40ID:xirPIu0H 本体とチンポは、マルチスレッドである!
2020/01/18(土) 16:45:37.88ID:EsGjhCuG
本体とちんぽは着脱可能である!
17デフォルトの名無しさん
2020/01/18(土) 20:48:05.49ID:xirPIu0H スレッドはメインルーチンとは独立して動くが、これはチンポが本体とは独立して勃起するのと同じ。
18デフォルトの名無しさん
2020/01/20(月) 19:08:16.49ID:L1zTlUe8 そこでまずこのクラスをスレッドとして動かすことが出来るようにしなければいけません。
スレッドとして動かす為にはThreadクラスのサブクラスとするか、Runnableインターフェースを
実装する必要がありますが、このクラスは既にAppletクラスのサブクラスであるためさらに
Threadクラスのサブクラスには出来ません。よってRunnableインターフェースを実装することになります。
スレッドとして動かす為にはThreadクラスのサブクラスとするか、Runnableインターフェースを
実装する必要がありますが、このクラスは既にAppletクラスのサブクラスであるためさらに
Threadクラスのサブクラスには出来ません。よってRunnableインターフェースを実装することになります。
19デフォルトの名無しさん
2020/01/20(月) 19:15:41.06ID:L1zTlUe8 どのタイミングで作成するかは場合によりますが、通常はアプレットが最初に開始された時
にスレッドを作成します。その為initメソッド内でスレッドを作成しましょう。
またThreadクラスのオブジェクトを作成する時に指定する引数にはスレッドとして動かすクラス
を指定するのでしたから、今回の場合は自分自身である「this」を指定します。
にスレッドを作成します。その為initメソッド内でスレッドを作成しましょう。
またThreadクラスのオブジェクトを作成する時に指定する引数にはスレッドとして動かすクラス
を指定するのでしたから、今回の場合は自分自身である「this」を指定します。
20デフォルトの名無しさん
2020/01/20(月) 20:40:43.04ID:L1zTlUe8 アプレットは、アプリケーションのように main メソッドを持っていません。しかし、
代わりにアプレットを実行、コントロールするためのメソッドを持っています。
まず、サンプルプログラムと実行方法を説明します。
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Color;
public class HelloApplet extends Applet {
String text;
public void init() {
text = "Hello, world!";
}
public void start() {
System.out.println("starting...");
}
public void stop() {
System.out.println("stopping...");
}
public void destroy() {
System.out.println("destroying...");
}
public void paint(Graphics g) {
System.out.println("painting...");
g.setColor(Color.red);
g.drawRect(0, 0,
getSize().width - 1,
getSize().height - 1);
g.setColor(Color.blue);
g.drawString(text, 15, 25);
}
}
代わりにアプレットを実行、コントロールするためのメソッドを持っています。
まず、サンプルプログラムと実行方法を説明します。
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Color;
public class HelloApplet extends Applet {
String text;
public void init() {
text = "Hello, world!";
}
public void start() {
System.out.println("starting...");
}
public void stop() {
System.out.println("stopping...");
}
public void destroy() {
System.out.println("destroying...");
}
public void paint(Graphics g) {
System.out.println("painting...");
g.setColor(Color.red);
g.drawRect(0, 0,
getSize().width - 1,
getSize().height - 1);
g.setColor(Color.blue);
g.drawString(text, 15, 25);
}
}
21デフォルトの名無しさん
2020/01/20(月) 20:49:33.64ID:TMFwfrMm 継承するクラスをAppletからFrameに変更し,mainメソッドを持つクラスを作ってその中から
Frameのinitメソッドを呼び出す,基本的にそれだけです。
https://qiita.com/shima_masa/items/b4a0edb0caad9e36121e
Frameのinitメソッドを呼び出す,基本的にそれだけです。
https://qiita.com/shima_masa/items/b4a0edb0caad9e36121e
22デフォルトの名無しさん
2020/01/20(月) 22:32:40.05ID:TMFwfrMm もちろん逆に、アプレットで作ったソフトを、配布用のアプリケーションにしたい場合も
Appletに代わるFrameを作成し、main()メソッドからインスタンスを生成して実行すればよいのです
Appletに代わるFrameを作成し、main()メソッドからインスタンスを生成して実行すればよいのです
23デフォルトの名無しさん
2020/01/21(火) 10:47:05.19ID:4bpWXhy/ /www.cis.shimane-u.ac.jp/~rokui/lecture/QA/lect4.html
24デフォルトの名無しさん
2020/01/21(火) 11:57:23.94ID:d8Oaqqlq ゲームとアニメの違いは、プレイヤーが操作できるか否かだ。
25デフォルトの名無しさん
2020/01/21(火) 13:54:30.23ID:d8Oaqqlq コペルニクス以前に「宇宙」「天体」は存在しない!
26デフォルトの名無しさん
2020/01/21(火) 16:04:45.54ID:3POOz5m6 アプレットの中でアニメーション(リアルタイムゲームを含む)をするのは結構
面倒である.まず,アプレットにはmainがない(書いても呼ばれない)ので,
明 示的にスレッドを作る必要がある.アプレットは Applet クラスのサブクラス で作らなくてはいけないので,Runnable インタフェースを継承することになる.
面倒である.まず,アプレットにはmainがない(書いても呼ばれない)ので,
明 示的にスレッドを作る必要がある.アプレットは Applet クラスのサブクラス で作らなくてはいけないので,Runnable インタフェースを継承することになる.
27デフォルトの名無しさん
2020/01/21(火) 17:00:00.03ID:d8Oaqqlq 処理はマルチスレッド、描画は同一アプレットで!
28デフォルトの名無しさん
2020/01/21(火) 17:13:50.07ID:0fQ1TphW まずごく簡単なサンプルプログラムを作ってみよう。
29デフォルトの名無しさん
2020/01/21(火) 17:17:20.73ID:0fQ1TphW 描画アプレットは最後でいい
30デフォルトの名無しさん
2020/01/21(火) 17:19:58.25ID:0fQ1TphW チンポはそれ自体が独立した生き物であり日々活動しているが、外から見えるのは「皮」だけ。
31デフォルトの名無しさん
2020/01/21(火) 17:25:55.35ID:0fQ1TphW チンポがシコシコするそのメカニズムは、億兆の数式でも書ききれない。
外から見たチンポは、最後の表面的な描画アプレットにすぎない!
外から見たチンポは、最後の表面的な描画アプレットにすぎない!
32デフォルトの名無しさん
2020/01/21(火) 17:35:46.18ID:E9LLdyau 描画はマルチスレッドしない、肉眼で見る光景は一つだから。
2020/01/21(火) 17:53:30.17ID:9LxBEujF
もう疲れたよパトラッシュ
34デフォルトの名無しさん
2020/01/22(水) 07:55:47.18ID:XnuZbeSJ アプリケーションとアプレットの共有
これまで、アプリケーションとアプレットを切り離して解説してきました
もちろん、それぞれの機能は別物です
ここで気になるのがアプレットとアプリケーションを組み合わせられないのかということです
つまり、コマンドラインからJDKの java コマンドで実行することができ
かつ、ブラウザでも見ることができるという代物です
これまで、アプリケーションとアプレットを切り離して解説してきました
もちろん、それぞれの機能は別物です
ここで気になるのがアプレットとアプリケーションを組み合わせられないのかということです
つまり、コマンドラインからJDKの java コマンドで実行することができ
かつ、ブラウザでも見ることができるという代物です
2020/01/22(水) 08:02:07.12ID:Qq2b8i1H
オブジェクト指向が万能薬のように扱われて
必要もないのに言語に組み込まれていった暗黒時代はクソだと思いたい
必要もないのに言語に組み込まれていった暗黒時代はクソだと思いたい
2020/01/22(水) 10:05:22.94ID:8UP+RZiZ
90年代にクソが量産されてその保守で苦しんでるみなさん
37デフォルトの名無しさん
2020/01/22(水) 21:22:10.90ID:XnuZbeSJ public static void main(String [] args )
{
FrameApplet frame = new FrameApplet();
frame.init();
frame.setBounds( x, y, width, height );
frame.addWindowListener(
new WindowAdapter() {
public void windowClosing(WindowEvent e)
{ System.exit(0);}
}
);
frame.setVisible(true);
}
{
FrameApplet frame = new FrameApplet();
frame.init();
frame.setBounds( x, y, width, height );
frame.addWindowListener(
new WindowAdapter() {
public void windowClosing(WindowEvent e)
{ System.exit(0);}
}
);
frame.setVisible(true);
}
2020/01/23(木) 04:22:56.44ID:b1RJU1gm
オブジェクト指向そのものはクソじゃなくてそれを使おうとするやつの頭がクソなだけでしょ
39デフォルトの名無しさん
2020/01/23(木) 09:41:03.88ID:nfNHCPGN 2015年6月29日月曜日
System.Drawing.Graphicsのマルチスレッド非対応問題
Graphics.DrawImageはマルチスレッド対応していない。
http://redditchan.blogspot.com/2015/06/systemdrawinggraphics.html
System.Drawing.Graphicsのマルチスレッド非対応問題
Graphics.DrawImageはマルチスレッド対応していない。
http://redditchan.blogspot.com/2015/06/systemdrawinggraphics.html
40デフォルトの名無しさん
2020/01/23(木) 10:09:36.94ID:JgeeW2+j キーリスナーとグラフィックを分離
41デフォルトの名無しさん
2020/01/23(木) 13:53:44.16ID:JgeeW2+j フォーカスは通常、マウスカーソルによるクリックでセットできる。また、Tabキーによっても変更できる。
フォーカスがセットされた、もしくは外されたといったイベントを受け取るためのイベントリスナーはFocusListenerインターフェイスの実装クラスとする必要がある。
フォーカスがセットされた、もしくは外されたといったイベントを受け取るためのイベントリスナーはFocusListenerインターフェイスの実装クラスとする必要がある。
42デフォルトの名無しさん
2020/01/23(木) 15:00:48.66ID:nfNHCPGN 一つのコントローラは同時に一つのイベントリスナーしか実行しないため、
それぞれのリスナーの処理が並列処理されることはありません。
https://www.intra-mart.jp/apidoc/iap/javadoc/platform-all-dev_apidocs/jp/co/intra_mart/common/aid/jdk/util/EventQueueController.html
それぞれのリスナーの処理が並列処理されることはありません。
https://www.intra-mart.jp/apidoc/iap/javadoc/platform-all-dev_apidocs/jp/co/intra_mart/common/aid/jdk/util/EventQueueController.html
43デフォルトの名無しさん
2020/01/23(木) 15:05:15.80ID:JgeeW2+j 並行 : 複数の動作が論理的に順不同、もしくは同時に起こること
並列 : 複数の動作が物理的に同時に起こること
並列 : 複数の動作が物理的に同時に起こること
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市早苗総理「金利上昇よりも日本の成長が大事」 [Hitzeschleier★]
- 【将棋】福間香奈 女流六冠が会見 妊娠・出産でタイトル戦の事実上不戦敗 「妊娠したら、どちらか一方を諦めないといけない状況」 [冬月記者★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★2 [少考さん★]
- 【速報】 米国政府、中国が日本の自衛隊にレーダーを照射を批判、同事案で中国を批判するのは初めて [お断り★]
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★2 [Hitzeschleier★]
- 【野球】止まらぬ野球人口減少に危機感 ラミレス氏「野球人口は激減、人気自体も下がっている」「もっと野球ができる環境を整えるべき」 [冬月記者★]
- 高市と維新、国会で鈴木大臣を褒めまくるwww「現場のことを分かってる!鈴木大臣はようやっとる!」 [888298477]
- 【高市速報】小泉進次郎「事前に中国軍から飛行訓練を開始すると連絡があったのは事実」★2 [931948549]
- 【悲報】たけガイ、「中卒」という言葉を覚えてしまう🏡
- JR東海「リニア工事で水が枯れるのは一瞬だし回復させる手立てないわこれ」 [744361492]
- グラフィックボードのVRAMは「8GB」で十分だという事実 [422186189]
- 自作pc時期が悪いおじさん、絶命 [329329848]
