Tsukemai Online -2ページ目

フジテレビ

フジテレビをお台場海浜公園から撮ってみました。

フジテレビ

フジテレビに行くのにゆりかもめで渡ったレインボーブリッジ

レインボーブリッジ

おまけ(一応、テレビ朝日at六本木ヒルズ)

テレビ朝日

東京

六本木ヒルズにある森タワーを撮影。

六本木ヒルズ

雨が降ってたせいで、東京タワーがはっきり撮影できず・・・orz

東京タワー

ホテルにチェックイン後、ヲタの聖地に行ってきましたw

秋葉原

JAVAのお勉強-その11.2-

・JAVAアプレットによる画像の表示
(ⅰ):getImage( )メソッドで画像の取得をする
(ⅱ):drawImage( )メソッドでそれを表示する
[例]:画像表示
import java.applet.Applet;
import java.awt.*;

public class Draw extends Applet {
  Image img;

  public void init( ) {
    img = getImage(getDocumentBase( ),"kuma.gif");
  }

  public void paint(Graphics g) {
    g.drawImage(img, 10, 10, this);
  }
}
getImage( )メソッドによる画像の取得は、1回だけ行うもので
あり、init( )メソッド内に記述する。
drawImage( )メソッドによる画像の表示はpaint( )メソッド内で
行う。
thisは、画像表示の進捗管理をする(イメージオブサーバ)
設定で、それを自分自身に設定する。

・ボタンの使用
⇒ボタンクリックで実行させたい記述は、actionPerformed( )
メソッド内に行う。
actionPerformed( )メソッドを記述するために「implements
ActionListener
」という記述が必要。
⇒上記を、"ActionListenerインタフェースを実装する"と表現。

その他の細かい事は、参考書を参考してw。( ´,_ノ`)y━・~~~

JAVAのお勉強-その11.1-

第14章:JAVAアプレット
アプレットの記述方法を以下で述べていきます。( ´,_ノ`)y━・~~~
import java.applet.Applet;
import java.awt.Graphics;

public class Apli1 extends Applet {
  public void paint (Graphics g) {
    g.drawString("NEET!",30,40);
  }
}
⇒まずアプレットプログラムは4行目のようにAppletクラスを継承。
⇒アプレットプログラムには、main( )メソッドは不要。
⇒5~7行目のようにpaint( )メソッドによって、表示させたい内容
を記述する。
paint( )メソッドには、画面描画用の機能を持つGraphicsクラスの
オブジェクトが渡され、この変数gを使い、具体的に描画指定する。

・アプレットを表示させるには・・・
(ⅰ):HTMLファイルを記述する
Appletコードのみが重要。
(ⅱ):JAVAプログラムにAppletタグを埋め込む
⇒コンパイル時にHTMLタグは無視されるから大丈夫

明日に画像の表示(p.175以降)以降をお勉強予定。。。

JAVAのお勉強-その10.3-

メンバの継承その1(public属性)
⇒すでに作成されたクラスがある時、これを流用し、機能を追加
して使うという概念。
[例]:クラス継承の記述
class B extends A {
(追加する記述)
}
⇒「Aを継承したB」
⇒作成したBにAの全メンバが含まれる。
スーパークラス
⇒継承の元になるクラス(便宜的に、親クラスとも言う)。
サブクラス
⇒継承して作成される新しいクラス

メンバの継承その2(private属性)
サブクラスからはスーパークラスprivateメンバをアクセス
できない。
privateである変数を記述した時は、それに対応するpublic
あるメソッドを用意する。

メンバの継承その3(protected属性)
サブクラスにはアクセスを許可するが、他パッケージのクラス
にはアクセスを許可しない。

・継承とコンストラクタ
⇒クラスを継承する場合も、サブクラス内で独自にコンストラクタを
設定でき、この時、サブクラス内から、スーパークラスのコンストラ
クタを呼び出す事ができる。
スーパークラスのコンストラクタ呼び出し
super(引数ならび);

・クラス間のオーバーロード
⇒<赤スーパークラス>とサブクラス間に、"名前が同じで引数
構成が異なるメソッド"がある場合に起こる。
・クラス間のオーバーライド(上書き定義)
⇒<赤スーパークラス>とサブクラス間に、"名前も引数構成も
全く同一のメソッド"がある場合に起こる。
⇒引数構成が同じなので識別できないため、サブクラスのものを
実行する。
⇒結局、メソッドの内容を上書きしてしまう効果がある。

JAVAのお勉強-その10.2-

・単純なメンバの記述方法
ある定数値を知る」,「ある値の演算結果を得る」などの場合、、、
クラス型の変数を宣言することなく、
クラス名.○○○
のように直接、クラスのメンバを利用する方が簡単!

static
インスタンスが無くてもクラスから直接利用することができる。
static宣言されたフィールドメソッドは各々クラスフィールド
クラスメソッド(両者合わせてクラスメンバと呼ぶ)になるため。
⇒従来の普通のメンバは、インスタンスメンバと呼ぶ。
⇒クラスのインスタンス(オブジェクト)を作成して、そのインスタ
ンス名で指定する(インスタンス名.○○○で指定)メンバだから。

[ルール]
クラスメソッドの中からインスタンス変数を操作できない。
staticのついたメソッドからはstaticのついた変数しか操作
できない。
クラス変数は全体で一つしか用意されない。

JAVAのお勉強-その10.1-

第13章:クラスの記述
クラスは、処理目的ごとに機能をまとめることで構成される。
つまり、必要なデータを宣言し、そのデータを操作するため
コードを用意する。
データは「フィールド」、コードは「メソッド」で各々管理される。
メンバ
⇒クラスに宣言されたフィールドメソッドのこと。
フィールド
⇒クラスに直接宣言された変数。メンバの構成要素であること
から、メンバ変数と呼ばれることもある。

アクセス修飾詞
⇒他方のクラスからアクセスできるか否かを指定する。
(ⅰ):private修飾詞
⇒安全のため、他方からのアクセスを許可しない
(ⅱ):public修飾詞
⇒便宜のため、他方からのアクセスを許可する

クラスを利用するには?
⇒基本データ型と同様に変数宣言をしてから、new演算子で
クラス実体を生成して利用する。
⇒上記を"クラスインスタンスを生成する"と表現する。
[記述例1]:変数宣言インスタンス生成
クラス名 dt = new クラス名( );
[記述例2]:メンバの指定
dt.getoh = 20;  //変数を指定して代入
dt.kuma( );   //メソッドを指定して実行
⇒[記述例2]で生成されたインスタンスオブジェクトとも言う。

データの隠蔽
⇒外部のクラスからデータを見えなく(アクセスできなく)する。
⇒データの不正な使用を防止できるメリットあり。

・アクセス修飾詞の省略
⇒「パッケージ(後に紹介)」機能に関連する。
同じパッケージにあるクラスからはアクセス可能(public性質)
他のパッケージにあるクラスからはアクセス不可能(private性質)

[ルール]
⇒一つのファイルの中に複数のクラスを記述することは可能だが、
publicつきのクラスはファイル内で一つだけ許可される!

コンストラクタ
⇒クラスのオブジェクト生成時に、自動的に呼び出され、初期化
を行う
ために使用される。また特殊なメソッドとも考えられ、多重
定義
することも可能。
戻り値はない(型名が不要)
コンストラクタ名はクラス名と同じにしなければいけない!

JAVAのお勉強-その9.3-

・ファイルへの書き込み
⇒基本的にファイルからの読み込みと同じである。

書き込みファイルのオープンの方法
PrintWriter fout = new PrintWriter(new BufferedWriter
                 (new FileWriter("kari.txt")));
⇒kari.txtファイルをFileWriterに設定して書き込み可能にし、それ
BufferedWriterに引数渡しをしてバッファリング可能にし、それ
PrintWriterに引数渡しをしてprintln( )などのメソッドのサービス
メソッドを使用可能にする。

・データの書き込み
⇒お馴染みのprint( )println( )メソッドで行う。
⇒注意事項として、「数値は文字列に変換して書き込まれる

・ファイルからの数値入力
⇒第6章(p.55)でも述べたように、ファイルから数値を入力する
ときは、「文字列として入力し、それを数値に変換する」という
方法を用いる。

コマンドライン引数
⇒DOS窓やシェルにおいて、javaコマンドを実行するときに
クラス名の後に続けて入力される引数。
⇒ファイル処理をする場合、ファイル名指定に便利!
main( )メソッドの引数として以下のように用意されている。
public static void main(String[]) { ・・・・・・・・・ }
⇒Stringクラス型のargsという名前の配列であり、要素が文字列
である配列の引数
として渡される。

「ちょっと用語確認」
・「シェル」(shell)
⇒ユーザーからの入力指示を解釈し、カーネルに伝える役割を
持ったプログラム。
・「カーネル」(kernel)
⇒OSの基本機能を実装したソフトウェア。
・「bash
シェルを拡張したもの。(Bourne-Again SHellの略)
・「オブジェクト指向
⇒プログラムを小さな部品(オブジェクト)の形で作成しておき、
これらを必要に応じて組み合わせることで、一つのプログラム
を作成するという考え方。

JAVAのお勉強-その9.2-

第12章の続きです。
・ファイルからの読み込み
[例]:ファイルからデータを読み込む
import java.io.*;

public class ReadFile {
 public static void main(String args[]) {
  String ss;

  try {
    BufferedREader fin = new BufferedReader(
                       new FileReader("kuma.txt"));
        while ((ss = fin.readLine()) != null) {
           System.out.println(ss);
        }
    fin.close();
      }
  catch (Exception e) {
     System.out.println("読み込みエラー" + e);  
        }
    }
}
読み込みファイルのオープン(8,9行目)
⇒kuma.txtファイルをFileReaderに引数渡しをして読み込み可能
にし、それをBufferedReaderに引数渡しをしてバッファリング可能
にする(入力効率を良くし、ReadLine()メソッドを利用可能にする)。

エラー処理(15~17行目)
⇒引数eのもつ例外情報が表示される。

データの読み込み(10行目)
⇒ファイルから1行だけ読み込む基本的な方法。

読み込み終了の確認(10~12行目)
ReadLine()メソッドは、ファイル終了ならnullを返す。
⇒"ファイル終了まで読み込みをする"基本的な書き方である。

ファイルのクローズ(13行目)
⇒ファイルをクローズすると、"ファイル読み書き終了時の内部的
な後始末?"をやってくれるらしい。

JAVAのお勉強-その9.1-

第12章:ファイル処理
今までのJAVAプログラムによる一連の処理は、、、
(ⅰ):キーボードから入力
(ⅱ):ディスプレイへ出力
⇒キーボード、ディスプレイではデータの保存は無理!
⇒つまり、一発勝負のデータ入出力になってしまう
⇒実用的なデータ処理(ファイルへの入出力)が必要!

・(入出力)ストリーム
⇒「データの流れ」を意味したファイル入出力で用いる概念
(ⅰ)入力ストリーム用のクラス
⇒[例]:FileReader など
(ⅱ)出力ストリーム用のクラス
⇒[例]:PrintWriter など

続きはまた明日という事で・・・ ( ´,_ノ`)y━・~~~