A、サンプルプログラム
B、オリジナルプログラム
感想
参考文献・HP
A、サンプルプログラム
●オブジェクト指向プログラム●サンプルプログラム1
プログラム class CircleC { // クラス double pai = 3.14; // データ double circle(int r) { // メソッド return pai * r * r; } } class Demo { // クラス public static void main(String args[]) { // メソッド double area;; CircleC obj; // オブジェクト obj = new CircleC(); area = obj.circle(10); System.out.println("area = " + area); } } ※実行結果 area = 314.0 |
●サンプルプログラム2
プログラム public class Comp4 { //クラスComp4を定義 int add(int x, int y) { // メソッドadd(int x,int y)を定義 return x + y; // x + y を返す } int substract(int x, int y) { // メソッドsubstractを定義 return x - y; // x - y を返す } int multiply(int x, int y) { // メソッドmultiplyを定義 return x * y; // x * y を返す } int divide(int x, int y) { // メソッドdivideを定義 return x / y; // x / y を返す } } class Keisan { public static void main(String args[]){ int a, b, wa, sa, seki, sho; Comp4 enzan = new Comp4(); // クラスComp4のオブジェクトenzan作成 a = 20; b = 10; wa = enzan.add(a, b); // オブジェクトenzanのadd(a,b)を実行 sa = enzan.substract(a, b); // 同上のsubstract(a,b)を実行 seki = enzan.multiply(a, b); // 同上のmultiplu(a,b)を実行 sho = enzan.divide(a, b); // 同上のdivide(a,b)を実行 System.out.println(a + " + " + b + " = " + wa); System.out.println(a + " - " + b + " = " + sa); System.out.println(a + " * " + b + " = " + seki); System.out.println(a + " / " + b + " = " + sho); } } ※実行結果 20 + 10 = 30 20 - 10 = 10 20 * 10 = 200 20 / 10 = 2 |
●サンプルプログラム3
プログラム class Display { int n; // クラス変数 void Disp() { int i; // ローカル変数 for (i = 1; i <= n; i++) System.out.print(i + " "); } class VarSample { public static void main(String args[]) { Display obj = new Display(); // クラスDisplayのオブジェクトobj生成 obj.n = 10; // オブジェクトobjの変数nに10を代入 obj.Disp(); // オブジェクトobjのDisp()実行 } } ※実行結果 1 2 3 4 5 6 7 8 9 10 |
●考察
(1)サンプルプログラム1クラス名 変数名(任意) = new クラス名(); |
class クラス名(任意){ 型 変数名 = 値; //データの宣言 戻り値型 メソッド名([メソッド引数]) { //メソッド コンピュータ制御 } } |
super.スーパークラスの変数名 |
B、オリジナルプログラム
public class Report5 extends Data { double pai; double sui(int r, int h) { return pai * r * r * h / 3; } } class Data { public static void main(String args[]) { int x, y; double area; x = 5; y = 4; Report5 enzan = new Report5(); enzan.pai = 3.14; area = enzan.sui(x, y); System.out.print("底辺の円の半径"+x+"高さ"+y+"の円錐の体積は"+area+"です。" ); } } ※実行結果 底辺の円の半径5高さ4の円錐の体積は104.66666666666667です。 |
●考察
Report5は底辺の円の半径5高さ4の円錐の体積を求めるプログラムです。感想
オブジェクト指向は理解できましたが、クラス変数がCのグローバル変数と混沌してしまって理解に苦しみました‥参考文献・HP
・独習Java第2版 『ジョゼフ・オニール著』