Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

Similar documents
Microsoft PowerPoint - prog03.ppt

PowerPoint プレゼンテーション

Microsoft PowerPoint - chap10_OOP.ppt

JavaプログラミングⅠ

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name

Microsoft PowerPoint - prog04.ppt

JavaプログラミングⅠ

Microsoft PowerPoint ppt

PowerPoint プレゼンテーション

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

プログラミング基礎I(再)

プログラミング入門1

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問

Java言語 第1回

JavaプログラミングⅠ

基本情報STEP UP演習Java対策

Javaプログラムの実行手順

メディプロ1 Javaプログラミング補足資料.ppt

Javaの作成の前に

Microsoft PowerPoint - lec06 [互換モード]

PowerPoint プレゼンテーション

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

できるプログラマーを本気で育てる Java 超 Webプログラマーへの第 歩 第 2 回オブジェクト指向 テクノロジックアート 瀬 嘉秀

GEC-Java

プログラミング入門1

Javaセキュアコーディングセミナー2013東京第1回 演習の解説

JavaプログラミングⅠ

プログラミング入門1

Prog1_15th

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy

PowerPoint プレゼンテーション

(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt)

GEC-Java

PowerPoint プレゼンテーション

ガイダンス

Prog2_12th

JAVA入門

レコードとオブジェクト

ガイダンス

GEC-Java

2

JavaプログラミングⅠ

ガイダンス

Prog2_9th

プログラミング入門1

メソッドのまとめ

Microsoft PowerPoint pptx

PowerPoint プレゼンテーション

Prog1_10th

スライド 1

ガイダンス

11 ソフトウェア工学 Software Engineering デザインパターン DESIGN PATTERNS デザインパターンとは? デザインパターン 過去のソフトウェア設計者が生み出したオブジェクト指向設計に関して, ノウハウを蓄積し 名前をつけ 再利用しやすいようにカタログ化したもの 各デ

Microsoft PowerPoint - prog09.ppt

JavaプログラミングⅠ

Prog1_6th

Microsoft PowerPoint - prog09.ppt

Java講座

2004/11/23 オブジェクト指向プログラミング - モデル図とシーケンス図の表現方法 - オブジェクト指向プログラミング (OOP:ObjectOrientedPrograming) オブジェクト指向プログラミング言語 (OOPL) Java,C++,Delphi(Pascal),Visual

JavaプログラミングⅠ

関数 C 言語は関数の言語 関数とは 関数の定義 : f(x) = x * x ; 使うときは : y = f(x) 戻り値 引数

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

JAVA とテンプレート

Method(C 言語では関数と呼ぶ ) メソッドを使うと 処理を纏めて管理することができる 処理 ( メソッド ) の再実行 ( 再利用 ) が簡単にできる y 元々はC 言語の関数であり 入力値に対する値を 定義するもの 数学では F(x) = 2x + 1 など F(x)=2x+1 入力値 (

Microsoft PowerPoint - ●SWIM_ _INET掲載用.pptx

文字列操作と正規表現

デジタル表現論・第4回

PowerPoint プレゼンテーション

Program Design (プログラム設計)

情報実習Ⅱ

Microsoft Word - keisankigairon.ch doc

Prog2_9th

メソッドのまとめ

プログラミング入門1

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

オブジェクト指向プログラミング・同演習 5月21日演習課題

人工知能入門

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

微分方程式 モデリングとシミュレーション

プログラミング実習I

デザインパターン第一章「生成《

Microsoft Word - problem3.doc

関数の動作 / printhw(); 7 printf(" n"); printhw(); printf("############ n"); 4 printhw(); 5 関数の作り方 ( 関数名 ) 戻り値 ( 後述 ) void である. 関数名 (

第二回独習 Java ゼミ 第二章クラスとメソッド 2.1 メソッドの構造 2.2 静的メソッドと静的変数の概要 2.3 インスタンスメソッドとインスタンス変数の概要 2.4 Integerクラス 2006/04/19 神津健太

Javaセキュアコーディングセミナー東京 第2回 数値データの取扱いと入力値の検証 演習解説

Sort-of-List-Map(A)

DVIOUT-exer

プログラムの基本構成

プログラミング入門1

問 次の Fortran プログラムの説明及びプログラムを読んで、設問に答えよ。

デジタル表現論・第6回

プログラミング入門1

第2回講義

Microsoft PowerPoint - exp2-02_intro.ppt [互換モード]

Week 1 理解度確認クイズ解答 解説 問題 1 (4 2 点 =8 点 ) 以下の各問いに答えよ 問題 bit 版の Windows8.1 に Java をインストールする時 必要なパッケージはどれか 但し Java のコンパイルができる環境をインストールするものとする 1. jdk

とても使いやすい Boost の serialization

プログラミング入門1

Javaによるアルゴリズムとデータ構造

<4D F736F F F696E74202D AC C8899E D834F E >

Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲

Microsoft PowerPoint - handout07.ppt [互換モード]

Transcription:

第 3 回 Java 基本技術講義 クラス構造と生成 33 クラスの概念 前回の基本文法でも少し出てきたが, オブジェクト指向プログラミングは という概念をうまく活用した手法である. C 言語で言う関数に似ている オブジェクト指向プログラミングはこれら状態と振る舞いを持つオブジェクトの概念をソフトウェア開発の中に適用し 様々な機能を実現する クラス= = いろんなプログラムで使いまわせる 34

クラスの概念 クラスの構成要素 クラスの構成要素をクラスのメンバーと呼ぶ オブジェクトが持っている状態を表す. 属性, クラス変数, フィールドともいう 上に実体を作る処理. 初期化処理とも呼ばれる オブジェクトの機能 / 働きを記述してあり, オブジェクトを操作する方法 main が含まれるオブジェクトはプログラムの最初に動作するメソッドである 35 クラスの生成 クラスを使ったプログラミング 最も簡単なは C 言語関数のように呼び出して使う方法 public class Room { int fact = 36; System.out.println( クラス実員は +capa+ です ); public class RoomMain { public static void main(string[] args) { Room T3 = new Room(); //(1) オブジェクトT3の生成 System.out.println( 定員は +T3.fact+ です ); //(2) 変数 teiinの参照 T3.member(); //(3) メソッド member の参照 関数と違うのは, 他のクラスを して使うこと パッケージ名 :lec_003 メインクラス名 :RoomMain サブクラス名 : Room 36

クラスの生成 インスタンス化の手順 クラスは単なる であり, インスタンス化して初めてプログラムが使えるオブジェクトとなる Room T3 = new Room(); オブジェクト変数の宣言 ( クラス名オブジェクト変数 ) 元となるクラスを オブジェクトの生成 (new) 作る命令 オブジェクトの初期化 ( コンストラクタ名 ( 初期化値 )) 中身を入れることで している 37 クラスの生成 クラス生成と上の動作 上の動作は C 言語と同じ考え int aaa = 31; Int aaa int が入る箱を作る aaa 箱の名前は aaa Int aaa =31 箱に中身を入れる aaa 11111 Room T3 = new Room(); Room T3 Room が入る箱を作る T3 箱の名前は T3 Room T3 =new Room 箱に中身を入れる T3 capa member() 違うのは変数だけでなく, も空間に入れる 38

オブジェクトの参照 インスタンス化することにより, オブジェクトが持つメンバ変数やメソッドを使えるようになるインスタンス化されたオブジェクトは外部からのアクセスI/Fを持つオブジェクトとのアクセスをメッセージジと呼ぶ ( プログラム ) テンプレート Roomクラス memberメソッド変数 capa 関連 RoomMainクラス T3.member T3.capa 生成 参照 T3.member() 実行 ( 実行 ) 実体 T3 オブジェクト memberメソッド変数 capa System.out.println AAA.member I/F 参照 T3.capa メッセージ http://www.geocities.jp/objectbrain/messagebrain.html 39 メンバ変数とメソッド public class Room { int fact = 36; System.out.println( クラス実員は +fact+ です ); public class Room { int fact = 36; System.out.println( 欠員 = +calculate(capa, fact)); int calculate(int x, int y) { int answer = x-y; return answer; オブジェクトが持っている状態を保持する変数である. 通常は属性を示すアクセス演算子を伴うが, 詳細は次章で触れる オブジェクトの機能 / 働きを担うものである. 引数受けや返値を戻す機能もある. 当然, 同じクラス内だけのやり取りだけでなく, インスタンス化されているものなら他のクラスから呼ぶこともできる 40

コンストラクタ 様々なメンバ変数を持つオブジェクトを生成する場合, コンストラクタの を利用する. public RoomR { int fact; RoomR( int x) { fact = x; System.out.println( クラス欠員 = +(capa-fact)); 前までの例題のように, とりわけ初期化の必要がない時, クラスにおけるコンストラクタの記述は無くとも良い ( 自動で実行され るが, 値はNULLが入る ) public class RoomMainR { パッケージ名 :lec_004 メインクラス名 :RoomMainR サブクラス名 : RoomR RoomMainRとRoomRは lec_003から中身をコピーして改造しなさい public static void main(string[] args) { RoomR T3 = new RoomR(36); T3.menber(); RoomR W3 = new RoomR(32); R3.menber(); 41 コンストラクタの区別 コンストラクタは名前が同じでも, その引数の違いによって全く違う動作をする. 便利である一方で, 間違えやすいので注意すること! public RoomR { int fact; RoomR( int x) { fact = x; RoomR( ) { System.out.println( 全員います! ); public class RoomMainR { RoomR( int x, int y) { public static void main(string[] args) { capa = x; RoomR T3 = new RoomR(36); fact = y; T3.menber(); System.out.println( もともと +(capa-fact))+ 名い RoomR W3 = new RoomR(32); R3.menber(); RoomR R3 = new RoomR(); RoomR A3 = new RoomR(38,32); 32); ません ); System.out.println( クラス欠員 = +(capa-fact)); 42

クラスのまとめ クラスはテンプレートであり, インスタンス化して初めて使える クラス名オブジェクト変数 = new コンストラクタ名 ( 初期化値 ); main を含むクラスは自動的にインスタンス化される クラスには以下の特性が含まれる コンストラクタ 初期化する動作メンバ変数 クラスの特性を定義する変数メソッド クラスの動作を定義する関数 インスタンス化されたクラスはオブジェクトと呼ばれる実行モジュールとなる オブジェクト変数. メンバ変数 ; 43 クラスの理解度チェック クラス生成の理解度チェック 以下のプログラムを作成しなさい パッケージ名 :task_003 メインクラス名 :CalMain サブクラス名 : Calculate クラスはCalculateとCalMainを作る Calculate では pi=3.14 をメンバ変数とする Calculateでは円の面積と球の体積を求めるメソッドを作る 円の面積はコンストラクタで与えられた半径 rで計算し, 結果を表示する 球の体積は引数として与えられる半径で r 計算し, 結果を返す CalMainでは半径 rを入力させる CalMainではAAAオブジェクトを作る CalMainで与えられたrをコンストラクタでCalculateに与える CalMainから円の面積のメソッドを参照する ( 結果も表示される ) CalMainから球の体積のメソッドをrの引数付で参照する CalMainで球の体積の結果を表示する ここまでの概念を十分理解できないと, 先では混乱するのみ 44