new ArrayList()=ArryList list;とやっても同意味ということですか?
プログラミングする際、クラスの名前や、用途、関数の引数の順番や内容などは暗記してますか?
いや、どういうことかというと、例えばJavaでアプリケーションをつくる際、LookAndFeel関連とかメニューバーやアイテム関連とかものすごく長いクラス名やら、ややこしい引数の順番やら、インスタンス化する為の手続きやらがあるじゃないですか、自分でクラス作っとけばいい話なんですが、ファイルの消失、職場の移転、などなど様々な事情で1から作りなおさないといけない場合はやはりその辺を勉強しなおしたりするんですか?
例えばC、C++のWinAPI関連。
ActionScript。
C#やJavaでのオーバライドしたいメソッド、そうでなくともそのメソッド名。
C,C++でのメモリに対する配慮。
(C++のnothrowとか。
)ちなみに上記の例、自分はちょっとかじっただけで、たいしたプログラムは組めません。
分かる方は是非力をお貸しください。
/*<applet code="sample31.class" width="150" height="120"></applet>*/import java.applet.Applet;import java.awt.*;import java.awt.event.*; //アプレットを作るために必要な部品を取り込むpublic class sample31 extends Applet implements ActionListener//{ActionListener}を実装せよ、という命令//これでイベントを認識{ //コンポーネントの変数を定義 Button button; Label label; public void init(){ //オブジェクトの作成 (インスタンス化) button = new Button("Click me!"); label = new Label("Click the button!"); //ボタンをリスナーに登録 button.addActionListener( this); //レイアウトの設定 this.setLayout( new GridLayout( 2, 1)); this.add(button); this.add(label); } //ActionEvent を受け取って処理 //{actionPerformed} このメソッドで処理する public void actionPerformed (ActionEvent ev){ if(ev.getSource() ==this.button){ this.label.setText("a="+Math.random()); } }}教科書に載っていた例題です。
この例題を基盤にプログラムを作ってくれるとありがたいです。
たとえばこんな画像を表示させたい場合どうすればいいでしょうか?
1.変数を表示2.関数を使う(staticで良い)3.自分自身をインスタンス化4.別クラスのインスタンスを使う5.同クラスで複数のインスタンスを使う6.private変数にアクセスする関数7.継承する(親クラスのメソッドを使う)8.クラス変数にクラスを指定するとういプログラミングを作れとの課題がだされました。
正直、全く手が動きません。
手が空いていて暇な方がいましたら簡単な例文をつくっていただけるとありがたいです。
よろしくお願いします。
インスタンスメソッドの方が高速で、staticメソッドはインスタンス化せずに利用できますが、その他特徴や使い分けを教えてください。
以下の例ですとmsgメソッドをそのまま利用したいです。
var Hoge=function(){ this.msg=function(){ document.write("hoge"); }}a=new Hoge();a.msg();
http://framework.zend.com/manual/ja/zend.application.quick-start.htmlhttp://zendframework.com/manual/ja/zend.controller.htmlなどを読んだのですが、いまいち理解しきれません。
書籍を参考にしてサンプルを実行させているのですが、上記3つを意識しなくても動いているような気がします。
http://framework.zend.com/manual/ja/zend.validate.introduction.htmlバリデーションなどは、上のアドレスのように必要なファイルをrequire_onceしてから、$validator = new Zend_Validate_EmailAddress();とインスタンス化して使っています。
Zend_ApplicationやZend_Application_Bootstrap,Zend_Controllerは特別意識しなくても、既に使用しているんでしょうか?
(ひよっこPGです汗)例えば、AクラスにBクラスを継承させるとAクラスの中でBクラスのメンバを使う事ができますよね。
class Aクラス:Bクラス{ }Aクラスの中でBクラスをnewしてからでもBクラスのメンバを使う事ができますよね。
Bクラス Bcls = new Bクラス( );できることは一緒なのに継承とインスタンス化の違いがWeb等で調べても分かりません。
どうにかこれらを理解したく、いやしないとC#とかJavaとかやってけない気がしますので、オブジェクト指向についてお詳しい方ぜひ何かヒントを頂けませんでしょうか?
宜しくお願いします。
インターフェースと実装を分離したいと思ってて、pImplイディオムを利用しようと考えています。
一般的なpImplイディオムは、コンストラクタでimpクラスをnewしていますが、 いま設計しているpImplを利用したクラスは、何度もインスタンス化されるので、インスタンス化のたびにnewしていたら、時間がかかるので、できればしたくありません。
つまり、クラスの利用者から、実装クラスを隠蔽し、かつインスタンス化時に何度もnewしないような方法が何かありますでしょうか?