Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download ""

Transcription

1

2

3 ios 4% Android 10% Python 1% Design 15% Web(PHP/JS) 10% Windows(C#) 20% 40%

4 最近のボク お嫁 Web/WordPress Windows Android Design Python Python Android 1% 5% Design Windows 5% 15% お嫁 50% Web/WordPress 25% 2013年6月1日 株式会社フォーエンキー調べ 愛 恐

5

6 Simple and Powerfull

7 var obj = {}

8 var obj = { } key: value

9 var f = function() {...}

10 var obj = { } key: function() {...}

11 var obj = { } key: function() {...}

12

13

14 ( _ )

15

16 ( _ )

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34 クラス Class (型) new new new クラスという 型 を元にして オブジェクトを生成するイメージ クラスから生成されたオブジェクトは クラスの特性 属性や機能 を受け継ぐ Object 実体 Object 実体 Object 実体

35

36

37 Object (実体) prototype dele gate dele gate dele gate プロトタイプ オブジェクトは 自分自身が備えて いない特性 機能や属性 を 別の オブジェクトにお願い 委譲 する イメージ この時 お願いする先を プロトタイプ と言ったりします Object 実体 Object 実体 Object 実体

38

39

40 var obja = { name : 'Yome', say : function () { alert('i Love ' + this.name); } }; var objb = { name : 'Nikole' }; objb. proto = obja; var objc = { }; objc. proto = objb; objc.say(); I Love Nicole

41 var obja = { name : 'Yome', say : function () { alert('i Love ' + this.name); } }; var objb = { name : 'Nikole' }; objb. proto = obja; var objc = { }; objc. proto = objb; objc.say();

42

43 objc.say objc. proto.say (objb) objc. proto. proto.say (objb) (obja)

44 objc.name objc. proto.name (objb) objc. proto. proto.say (objb) (obja)

45 obj. proto. proto.property このように 自分に無い機能や属性を proto に入っている別のオブジェクトから 連鎖的に検索して探す仕組みが

46 obj. proto. proto.property

47

48 var obja = { name : 'Yome', say : function () { alert('i Love ' + this.name); } }; var objb = { name : 'Nikole' }; objb. proto = obja; var objc = { name : 'Gyu-Ri' }; objc. proto = obja; objb.say(); // I Love Nikole objc.say(); // I Love Gyu-Ri

49

50 class A extends class B extends class C new obj A of B obj A (delegete) obj B (delegete) obj C (delegete) obj D new new obj B of C obj C of C (delegete) obj F (delegete) obj E

51

52

53

54

55

56

57

58

59 あまり見たコトない obj. proto = otherobj 実は proto は標準仕様ではありません つまり proto が利用できない環境もあり だから通常 このようなことはしません ここまでは プロトタイプチェインの概念を分かり易くするために proto を使って 説明していましたが そういうことなので 実際のプログラミングではこんなことしな いでくださいねー ( )/ では 逆に 良く見かけるのは

60 こっちのが よく見る感じ var o = new Person('Nicole') これは new 演算子とコンストラクタ関数によるオブジェクトの生成です JavaScript におけるオブジェクトの生成で よく見られるコードです このあたりの記法が クラスベースの言語を学んだ方を惑わしますね

61

62 var Person = function (name) { this.name = name; } Person.prototype.sayHello = function() { alert('hello ' + this.name); } var person = new Person('Nicole');

63 var Person = function (name) { } this.name = name; Person.prototype.sayHello = function() { } alert('hello ' + this.name); var person = new Person('Nicole');

64 var Person = function (name) { } this.name = name; Person.prototype.sayHello = function() { } alert('hello ' + this.name); var person = new Person('Nicole');

65

66

67

68

69 var o = new Person('Nicole')

70 var newobj = {}; newobj. proto = Person.prototype; Person.apply(newObj, arguments); return newobj;

71 だいたいこんな意味 var newobj = {}; newobj. proto = Person.prototype; ①新しい Object が 生成される Person.apply(newObj, arguments); return newobj; new する度に 新しい個別のオブジェクトが生成されます

72 だいたいこんな意味 var newobj = {}; newobj. proto = Person.prototype; Person.apply(newObj, arguments); return newobj; ②プロトタイプのオブ ジェクトの参照を代入 コンストラクタ関数の Person.prototype を 新しいオブジェクトの proto に 参照を代入し プロトタイプチェインの仕組みで その特性を継承します

73 だいたいこんな意味 var newobj = {}; ③ newobj を this に コンストラクタ 関数を実行 newobj. proto = Person.prototype; Person.apply(newObj, arguments); return newobj; これによって コンストラクタ関数の中で 生成される新しいオブジェクトを this と して参照し その属性をセットしたりできるようになります

74 だいたいこんな意味 var newobj = {}; newobj. proto = Person.prototype; ④完成した オブジェクトを返す Person.apply(newObj, arguments); return newobj; Person.prototype の特性を継承し コンストラクタ関数によって初期化済みの 新しいオブジェクトが返され プログラムで利用できるようになります

75 newobj. proto = Person.prototype;

76 整理すると proto プロトタイプチェインで 検索されるプロトタイプ オブジェクトが入ってる プロトタイプチェインで 使われるもの prototype プロトタイプオブジェク トの控え室 new とコンストラクタ 関数でオブジェクトを生 成する時に proto に代入される オブジェクト生成で 使われるもの

77

78 (function() { var Person = function (name){ this.name = name; }; Person.prototype.name = 'nanashi'; Person.prototype.say = function () { alert('i Love ' + this.name); }; var p = new Person('Nicole'); alert( p. proto === Person.prototype ); // true p.say(); // I Love Nicole p.name = 'Gyu-Ri'; p.say(); // I Love Gyu-Ri Person.prototype.name = 'Ha-Ra'; p.say(); // I Love Gyu-Ri delete p.name; p.say(); // I Love Ha-Ra })();

79 (function() { var Person = function (name){ this.name = name; }; Person.prototype.name = 'nanashi'; Person.prototype.say = function () { alert('i Love ' + this.name); }; Person: { prototype: { name:'nanashi' say: functon () { } } } var p = new Person('Nicole'); alert( p. proto === Person.prototype ); p.say(); })(); p.name = 'Gyu-Ri'; p.say(); Person.prototype.name = 'Ha-Ra'; p.say(); delete p.name; p.say();

80 (function() { var Person = function (name){ this.name = name; }; Person.prototype.name = 'nanashi'; Person.prototype.say = function () { alert('i Love ' + this.name); }; Person: { prototype: { name:'nanashi' say: functon () { } } } var p = new Person('Nicole'); alert( p. proto === Person.prototype ); p.say(); p.name = 'Gyu-Ri'; p.say(); var newobj = {}; newobj. proto = Person.prototype.name = 'Ha-Ra'; p.say(); delete p.name; p.say(); Person.apply(newObj, ['Nicole']) return newobj; })();

81 (function() { var Person = function (name){ this.name = name; }; Person.prototype.name = 'nanashi'; Person.prototype.say = function () { alert('i Love ' + this.name); }; Person: { prototype: { name:'nanashi' say: functon () { } } } var p = new Person('Nicole'); alert( p. proto === Person.prototype ); p.say(); p.name = 'Gyu-Ri'; p.say(); Person.prototype.name = 'Ha-Ra'; p.say(); delete p.name; p.say(); p: { name:'nicole' proto : } })();

82 (function() { var Person = function (name){ this.name = name; }; Person.prototype.name = 'nanashi'; Person.prototype.say = function () { alert('i Love ' + this.name); }; Person: { prototype: { name:'nanashi' say: functon () { } } } var p = new Person('Nicole'); alert( p. proto === Person.prototype ); p.say(); p.name = 'Gyu-Ri'; p.say(); Person.prototype.name = 'Ha-Ra'; p.say(); delete p.name; p.say(); p: { name:'nicole' proto : } })();

83 (function() { var Person = function (name){ this.name = name; }; Person.prototype.name = 'nanashi'; Person.prototype.say = function () { alert('i Love ' + this.name); }; Person: { prototype: { name:'nanashi' say: functon () { } } } var p = new Person('Nicole'); alert( p. proto === Person.prototype ); p.say(); p.name = 'Gyu-Ri'; p.say(); Person.prototype.name = 'Ha-Ra'; p.say(); delete p.name; p.say(); p: { name:'nicole' proto : } })();

84 (function() { var Person = function (name){ this.name = name; }; Person.prototype.name = 'nanashi'; Person.prototype.say = function () { alert('i Love ' + this.name); }; Person: { prototype: { name:'nanashi' say: functon () { } } } var p = new Person('Nicole'); alert( p. proto === Person.prototype ); p.say(); p.name = 'Gyu-Ri'; p.say(); Person.prototype.name = 'Ha-Ra'; p.say(); delete p.name; p.say(); p: { name:'gyu-ri' proto : } })();

85 (function() { var Person = function (name){ this.name = name; }; Person.prototype.name = 'nanashi'; Person.prototype.say = function () { alert('i Love ' + this.name); }; Person: { prototype: { name:'ha-ra' say: functon () { } } } var p = new Person('Nicole'); alert( p. proto === Person.prototype ); p.say(); p.name = 'Gyu-Ri'; p.say(); Person.prototype.name = 'Ha-Ra'; p.say(); delete p.name; p.say(); p: { name:'gyu-ri' proto : } })();

86 (function() { var Person = function (name){ this.name = name; }; Person.prototype.name = 'nanashi'; Person.prototype.say = function () { alert('i Love ' + this.name); }; Person: { prototype: { name:'ha-ra' say: functon () { } } } var p = new Person('Nicole'); alert( p. proto === Person.prototype ); p.say(); p.name = 'Gyu-Ri'; p.say(); Person.prototype.name = 'Ha-Ra'; p.say(); delete p.name; p.say(); p: { name:'gyu-ri' proto : } })();

87

88

89

90

91

92

93

94

95 function myfunc() { } var name = 'Gyu-Ri'; myfunc(); alert(name); //ReferenceError

96

97 var a = 123; function func1() { var b = 3; function func2() { var c = 2; alert(a * b * c); //738 } } func2(); func1();

98

99

100 var name = 'Nicole'; function myfunc() { var name = 'Gyu-Ri'; } myfunc(); alert(name); //Nicole

101 var name = 'Nicole'; function myfunc() { name = 'Gyu-Ri'; } myfunc(); alert(name); //???

102 var name = 'Nicole'; function myfunc() { } name = 'Gyu-Ri'; myfunc(); alert(name); //Gyu-Ri

103

104 var name = 'Nicole'; function myfunc() { Before var name = 'Gyu-Ri'; }

105 var name = 'Nicole'; function myfunc() { After name = 'Gyu-Ri'; }

106 var name = 'Nicole'; function myfunc() { var name = 'Gyu-Ri'; var }

107

108 var a = 123

109

110 var a = 123; function func1() { var b = 3; function func2() { var c = 2; alert(a * b * c); } } func2(); func1(); //738

111 var a = 123; function func1() { var b = 3; function func2() { var c = 2; alert(a * b * c); } } func2(); func1(); //738

112 var a = 123; function func1() { var b = 3; function func2() { var c = 2; alert(a * b * c); } } func2(); func1(); //738

113 var a = 123; function func1() { var b = 3; function func2() { var c = 2; alert(a * b * c); } } func2(); func1(); //738

114

115

116 scope.a (func2) scope. scope.a (func2) (func1) scope. scope. scope.a (func2) (func1) (global)

117

118 scope. scope. scope.identifier このように 今のスコープに無い識別子を より外側のスコープから連鎖的に 検索して探す仕組みが

119 scope. scope. scope.identifier

120

121 余談ですが 実はJavaScriptでは 変数のスコープでさえも 内部的にはオブジェクトで構成されています 変数オブ ジェクト つまり つまるところ スコープチェイン も プロトタイプチェイン も オブジェクトの特 殊なプロパティによる連結リストによるデータ構造と それを終端に向かって連鎖的に検索するという よく 似たシンプルな仕組みに過ぎません またこれは JavaScriptにおけるスコープの実体が グローバルスコー プ グローバル変数オブジェクト をrootとする 変数オブジェクトが連なった巨大なオブジェクトのツ リー構造だということでもあります 興味深いですね 残念ながら それらのスコープを構成するオブジェクトのツリーを プログラマが直接参照することは出来ま せん しかし プロトタイプチェインを構成する proto 属性については ECMA Script標準では無いも のの 幾つかのブラウザ実装では実際に目にしてその仕組みを確認することが出来ます これを良く観察す ることで スコープチェイン と プロトタイプチェイン 両方の理解を深めることが出来るはずです

122

123

124

125 var a = 123; function func1() { var b = 3; function func2() { var c = 2; alert(a * b * c); } ( ) } func2(); func1(); //738

126

127

128

129 var a = 123; function func1() { var b = 3; function func2() { var c = 2; alert(a * b * c); } } func2(); func1(); //738

130 var a = 123; function func1() { var b = 3; function func2() { var c = 2; alert(a * b * c); } } func2(); func1(); //738

131 var a = 123; function func1() { var b = 3; function func2() { var c = 2; alert(a * b * c); } } func2(); func1(); //738

132

133

134

135 var Person = (function($) { var privatevalue = 'Hogeta'; function Person(name) {... } Person.prototype.xxxx =... return Person; })(jquery);

136

137 function newcounter() { } var i = 0; return function() { } i = i + 1; return i; var c1 = newcounter(); alert(c1()); // 1 alert(c1()); // 2 alert(c1()); // 3

138

139

140

141

142

143

144

145 var Person = function (name) { this.name = name; } Person.prototype.sayHello = function() { alert('hello ' + this.name); } var person = new Person('Nicole'); var btn = $('button#say-hello'); btn.on('click', function() { person.sayhello(); });

146 var Person = function (name) { this.name = name; } Person.prototype.sayHello = function() { alert('hello ' + this.name); } var person = new Person('Nicole'); var btn = $('button'); btn.on('click', person.sayhello);

147

148

149 var obj = { } key: function() {...}

150

151 person sayhello btn.on('click', person.sayhello);

152 sayhello btn.on('click', person.sayhello);

153

154

155 person.sayhello();

156

157 ...nothing... sayhello();

158 function sayhello() { alert('hello ' + this.name); } sayhello(); global object = window 関数のコール時にレシーバーが無い時 this はグローバルオブジェクトになります ブラウザ実装の場合 これは通常 window オブジェクトです

159

160

161

162

163

164

165 call apply bind

166 call(object, arg1, arg2,...) apply(object, Array) bind(object, arg1, arg2,...)

167

168 call apply

169 call の例 function say(arg1, arg2) { alert(arg1 + this.name + arg2); } var person = new Person('Nicole'); say.call(person, 'Hello ', ' chan'); person を this として実行 call の第1引数が this に 第2引数以降の引数が say関数の引数に

170 apply の例 function say(arg1, arg2) { alert(arg1 + this.name + arg2); } var person = new Person('Nicole'); say.apply(person, ['Hello ', ' chan']); person を this として実行 call の第1引数が this に 第2引数の 配列の内容が say関数の引数になる 引数の渡し方以外は call と同じ

171 var p1 = { name: 'Gyu-Ri', say: function (arg1, arg2) { alert(arg1 + this.name + arg2); } }; var person = new Person('Nicole'); p1.say.call(person, 'Hello ', ' chan');

172 var p1 = { name: 'Gyu-Ri', say: function (arg1, arg2) { alert(arg1 + this.name + arg2); } }; var person = new Person('Nicole'); p1.say.call(person, 'Hello ', ' chan');

173 bind

174 function say(arg1, arg2) { alert(arg1 + this.name + arg2); } var person = new Person('Nicole'); var say2 = say.bind(person); say2('hello ', ' chan');

175 bind

176 var Person = function (name) { this.name = name; } Person.prototype.sayHello = function() { alert('hello ' + this.name); } var person = new Person('Nicole'); var btn = $('button'); btn.on('click', person.sayhello);

177 var Person = function (name) { this.name = name; } Person.prototype.sayHello = function() { alert('hello ' + this.name); } var person = new Person('Nicole'); var btn = $('button'); btn.on('click', person.sayhello.bind(person));

178 apply

179 // this function bind (self, func) { return function () { return func.apply(self, arguments); }; } // function Person (name) { this.name = name; this.say = bind(this, this.say); } Person.prototype.say = function (prefix) { alert(prefix + this.name); } // var person = new Person('Nicole'); // nicole.say('i Love '); // I Love Nicole // OK settimeout(person.say.bind(null, 'I Just Realy Love to '), 2000);

180

181

182

183

184

185

186

187

188

189

190

191 var obj = {}

192

193 @yuka2py

194

Microsoft PowerPoint - JavaScript.pptx

Microsoft PowerPoint - JavaScript.pptx Ajax や 来るべき HTML5 時代に向けて 大規模な JavaScript 開発にも耐えられる基礎をおさえる JavaScript をなんらか入門したことのある方を対象 山田祥寛 yoshihiro@wings.msn.to http://www.wings.msn.to/ 汎用的なコア JavaScript の理解を深めることが目的 ブラウザオブジェクト Ajax などは扱いません なるべく考え方を中心に説明するので

More information

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスが

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスが PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスがインスタンス化されてからメソッドに成る ) # 関数 def test_func(): print('call test_func') #

More information

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

プログラミング基礎I(再) 山元進 クラスとは クラスの宣言 オブジェクトの作成 クラスのメンバー フィールド 変数 配列 メソッド メソッドとは メソッドの引数 戻り値 変数の型を拡張したもの 例えば車のデータベース 車のメーカー 車種 登録番号などのデータ データベースの操作 ( 新規データのボタンなど ) プログラムで使う部品の仕様書 そのクラスのオブジェクトを作ると初めて部品になる 継承 などの仕組みにより カスタマイズが安全

More information

第7回 Javascript入門

第7回 Javascript入門 Slide URL https://vu5.sfc.keio.ac.jp/slide/ Web 情報システム構成法第 8 回 JavaScript 入門 萩野達也 (hagino@sfc.keio.ac.jp) 1 Web ページの構成要素 直交技術を組み合わせる 内容 スタイル ( 表現方法 ) プログラミング スタイル プログラミング JavaScript CSS Web ページ Web 文書

More information

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

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

More information

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

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~ .NET プログラマー早期育成ドリル VB 編 付録文法早見表 本資料は UUM01W:.NET プログラマー早期育成ドリル VB 編コードリーディング もしくは UUM02W:.NET プログラマー早期育成ドリル VB 編コードライティング を ご購入頂いた方にのみ提供される資料です 資料内容の転載はご遠慮下さい VB プログラミング文法早見表 < 基本文法 > 名前空間の定義 Namespace

More information

プログラミングI第10回

プログラミングI第10回 プログラミング 1 第 10 回 構造体 (3) 応用 リスト操作 この資料にあるサンプルプログラムは /home/course/prog1/public_html/2007/hw/lec/sources/ 下に置いてありますから 各自自分のディレクトリにコピーして コンパイル 実行してみてください Prog1 2007 Lec 101 Programming1 Group 19992007 データ構造

More information

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

Javaセキュアコーディングセミナー2013東京第1回 演習の解説 Java セキュアコーディングセミナー東京 第 1 回オブジェクトの生成とセキュリティ 演習の解説 2012 年 9 月 9 日 ( 日 ) JPCERT コーディネーションセンター脆弱性解析チーム戸田洋三 1 演習 [1] 2 演習 [1] class Dog { public static void bark() { System.out.print("woof"); class Bulldog

More information

Microsoft PowerPoint - class2-OperatorOverLoad.pptx

Microsoft PowerPoint - class2-OperatorOverLoad.pptx クラス Class (3) メンバ関数と演算子のオーバロード 上級プログラミング講義資料 成蹊大学理工学部情報科学科 1 多重定義 ( オーバロード ) 関数のオーバロード C++ の関数では シグニチャ ( 関数名, 引数の型および個数のこと ) が異なることによって 同名の関数が複数存在することが出来る 演算子のオーバロード四則演算子をはじめとする演算子を 新たに定義したクラスを取り扱うように多重定義することが出来る

More information

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

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name クラス ( 教科書第 8 章 p.267~p.297) 前回は処理をまとめる方法として メソッドについて学習した 今回はメソッドとその処理の対象となるデータをまとめるためのクラスについて学習する このクラスはオブジェクト指向プログラミングを実現するための最も重要で基本的な技術であり メソッドより一回り大きなプログラムの部品を構成する 今回はクラスにおけるデータの扱いとクラスの作成方法 使用方法について説明していく

More information

intra-mart Accel Platform — 招待機能プログラミングガイド   初版  

intra-mart Accel Platform — 招待機能プログラミングガイド   初版   Copyright 2016 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 3. 権限リストを拡張する 2 改訂情報 変更年月日 変更内容 2016-04-01 初版 3 はじめに 項目 このガイドについて このガイドについて このガイドでは 招待機能の拡張方法および注意点について解説します 4 権限リストを拡張する 項目 この機能について実装済みの招待権限デコレータ実装方法設定方法

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double

More information

Microsoft PowerPoint - prog03.ppt

Microsoft PowerPoint - prog03.ppt プログラミング言語 3 第 03 回 (2007 年 10 月 08 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/33 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 10 月 08 日分と書いてある部分が 本日の教材です

More information

Microsoft PowerPoint - chap10_OOP.ppt

Microsoft PowerPoint - chap10_OOP.ppt プログラミング講義 Chapter 10: オブジェクト指向プログラミング (Object-Oriented Programming=OOP) の入り口の入り口の入り口 秋山英三 F1027 1 例 : 部屋のデータを扱う // Test.java の内容 public class Test { public static void main(string[] args) { double length1,

More information

Microsoft Word - no06.doc

Microsoft Word - no06.doc 2. オブジェクト ( もう一度 ) 値をいくつかまとめたものを C 言語では構造体と呼んでいました 構造体は複数の値を含んだものでした これに対して JavaScript では オブジェクト (Object) という物を使います オブジェクトは 値 ( プロパティ ) と動作 ( メソッド ) を持ちます これはオブジェクト指向プログラミングと言われるもの特徴です オブジェクトにアクセスすることでプロパティの変更や動作を実行できます

More information

javascript key

javascript key Associate Professor Department of International Social Studies KYOAI GAKUEN UNIVERSITY Email: ogashiwa@c.kyoai.ac.jp, ogashiwa@wide.ad.jp sample

More information

第 3 回 Java 講座 今回の内容 今週の Java 講座はコレクション 拡張 for 文, ガベージコレクションについて扱う. 今週の Java 講座は一番内容が薄いも のになるだろう. コレクション コレクションとは大きさが決まっていない配列だと考えればよい. コレクションには List 先

第 3 回 Java 講座 今回の内容 今週の Java 講座はコレクション 拡張 for 文, ガベージコレクションについて扱う. 今週の Java 講座は一番内容が薄いも のになるだろう. コレクション コレクションとは大きさが決まっていない配列だと考えればよい. コレクションには List 先 第 3 回 Java 講座 今回の内容 今週の Java 講座はコレクション 拡張 for 文, ガベージコレクションについて扱う. 今週の Java 講座は一番内容が薄いも のになるだろう. コレクション コレクションとは大きさが決まっていない配列だと考えればよい. コレクションには List 先頭の要素要素から最後までが直線的に直結している構造 Set 同じものは含まないという構造. 要素間につながりはない

More information

情報処理 Ⅱ 2007 年 11 月 26 日 ( 月 )

情報処理 Ⅱ 2007 年 11 月 26 日 ( 月 ) 情報処理 Ⅱ 2007 年 11 月 26 日 ( 月 ) 本日学ぶこと 関数と変数 目的 関数を自分で定義し, 変数の利用方法 範囲を明示的に制限することで, 適切な機能分割 ( モジュール化, 再利用 ) を図る. してはいけないこと main 関数のみで 100 行以上のプログラム グローバル変数を駆使するプログラム プログラムを読みやすくする 保守性向上 入 p.109 2 関数 (Function)

More information

Prog2_10th

Prog2_10th 2017 年 12 月 7 日 ( 木 ) 実施 効果音の付加 SoundPool とは Android には音を処理するクラスが複数用意されているが, その中で SoundPool は, 予め音のデータをメモリ上に読み込んで再生するため, 長い音楽よりも短い音を扱うのに適している また,SoundPool では遅延が無いので, 効果音を付加したい場面で用いられる 授業の準備 1)Android Studio

More information

Prog2_10th

Prog2_10th 2016 年 12 月 8 日 ( 木 ) 実施 効果音の付加 SoundPool とは Android には音を処理するクラスが複数用意されているが, その中で SoundPool は, 予め音のデータをメモリ上に読み込んで再生するため, 長い音楽よりも短い音を扱うのに適している また,SoundPool では遅延が無いので, 効果音を付加したい場面で用いられる 授業の準備 1)Android Studio

More information

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

メディプロ1 Javaプログラミング補足資料.ppt メディアプロジェクト演習 1 Javaプログラミング補足資料 l Javaとは l JavaScript と Java 言語の違い l オブジェクト指向 l コンストラクタ l 継承 抽象クラス 本資料内のページ番号は, 以下の参考書のページを引用している高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに l プログラミング言語とは? l オブジェクト指向とは?

More information

Javaの作成の前に

Javaの作成の前に メディアプロジェクト演習 1 参考資料 Javaとは JavaScript と Java 言語の違い オブジェクト指向 コンストラクタ サーブレット 本資料内のページ番号は, 以下の参考書のページを引用している 高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに プログラミング言語とは? オブジェクト指向とは? Java 言語とは? JavaとJavaScriptの違いとは?

More information

16 コピー

16 コピー STAC STAR STAC STAR AS1.0 AS2.0 Sample URL http://stacstar.jp/hand_transfer/ Archive handtransfer.zip File ActionScript 1.0 Flash Player 8 Flash 8 4 5 発案 デザイン αビデオを使った画面遷移 HTML と違い Flash は画面の遷移がシームレスに

More information

目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1

目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1 ポリテクセンター埼玉セミナー資料 組込み技術者のための C# Monoを用いたマルチプラットフォームアプリケーション開発技術 第 1.2 版 2018 年 8 月 Microbrains Inc. 渋谷 目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い

More information

Microsoft PowerPoint - ruby_instruction.ppt

Microsoft PowerPoint - ruby_instruction.ppt Ruby 入門 流れ Ruby の文法 画面に出力 キーボードから入力 数値 文字列 変数 配列 ハッシュ 制御構造 ( 分岐 繰り返しなど ) if while case for each 関数 クラス Ruby とは プログラミング言語 インタプリタ言語 オブジェクト指向 国産 ウェブアプリケーションフレームワーク RubyOnRails で注目 弊社での Web アプリケーション開発に利用 画面に出力

More information

Microsoft PowerPoint pptx[読み取り専用]

Microsoft PowerPoint pptx[読み取り専用] 情報処理 Ⅱ 第 8 回 2009 年 12 月 7 日 ( 月 ) 本日学ぶこと 関数と変数 目的 関数を自分で定義し, 変数の利用方法 範囲を明示的に制限することで, 適切な機能分割 ( モジュール化, 再利用 ) を図る. してはいけないこと 問題 main 関数のみで 100 行以上のプログラム グローバル変数を駆使するプログラム プログラムを読みやすくする 保守性向上 多項式関数 f(x)

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 情報整理のための Google Map API 入門 日紫喜光良 プロジェクト I/II 2016.9.23 1 今日の目標 Google Map API を用いて Google Map の地図上にマーカーを表示する HTML Web ページの構造を宣言する 地図を表示する場所を宣言する Javascript プログラミング Web ページの地図表示箇所上に 地図を描く マーカーオブジェクトを生成して

More information

DVIOUT-exer

DVIOUT-exer プログラム理論と言語 : 期末試験用問題集 Part2 (2009) 演習問題 2-0 オブジェクト指向言語, とりわけ Java に関する用語の設問をもうける. 重要な語句については復習をしておくこと. 1 演習問題 2-1( レジメ記載の問題を具体化した問題 ) 下記は, 整数 (int) を要素とする線形リストのプログラムである. class IntCell { private int value

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 5 月 Java 基礎 1 タイトル Java 基礎 2 日間 概要 目的 サーバサイドのプログラミング言語で最もシェアの高い Java SE の基本を習得します 当研修ではひとつの技術ごとに実用的なアプリケーションを作成するため 効果的な学習ができます Java SE の多くの API の中で 仕事でよく利用するものを中心に効率よく学びます 実際の業務で最も利用される開発環境である Eclipse

More information

NetworkApplication-09

NetworkApplication-09 ネットワークアプリケーション 第 9 回 JavaScript によるクライアントサイドウェブプログラミング 石井健太郎 (423 研究室 オフィスアワー火 3 限 ) スケジュール 9 月 27 日第 1 回 TCP/IPプロトコルスイート 10 月 4 日第 2 回 Javaによるウィンドウプログラミング 10 月 11 日第 3 回 ネットワークアプリケーションのプログラミングモデル 10 月

More information

1.JavaScript の関数 JavaScript における関数とはそれ自体が オブジェクト であり 変数やオブジェクトのメンバとして格納したり あるいは 引数としてほかの関数に引き渡したりすることも可能です オブジェクトといって分かりにくければ 関数は JavaScript における データ型

1.JavaScript の関数 JavaScript における関数とはそれ自体が オブジェクト であり 変数やオブジェクトのメンバとして格納したり あるいは 引数としてほかの関数に引き渡したりすることも可能です オブジェクトといって分かりにくければ 関数は JavaScript における データ型 JavaScript マニュアル JavaScript 関数からプロトタイプオブジェクト指向まで基礎と応用編 1.JavaScript の関数 関数を定義する 3 つの方法 function 文による定義 Function コンストラクタによる定義 関数リテラルによる定義 関数の引数として関数を引き渡す ( 高階関数 ) 高階関数と匿名関数 関数内部で利用できる特殊なオブジェクト (arguments

More information

Ruby演習テキスト1

Ruby演習テキスト1 Ruby言語 基礎演習 社会人技術者研修 2014年度 テキスト 社会人技術者研修 2014年度テキスト 2014.11 Ruby基礎演習 1 2014.11 2015.2.1 puts "Hello Ruby >ruby hello.rb ( リターン ) > ruby hello.rb Hello Ruby # はじめての ruby プログラム puts "Hello Ruby" > ruby

More information

Microsoft PowerPoint - Pro110111

Microsoft PowerPoint - Pro110111 本日の到達目標 : コレクション プログラミング III 及び実習 1. コレクションとは 2. コレクションの種類 3. 使用方法 第 13 回コレクション 1 2 配列 ( 第 3 回 10 月 13 日 ) 演習 2 ファイル Bubble1.java は, 交換ソート ( バブルソート ) のプログラム ( 途中 ) である. プログラムを完成させ, 正しく実行できることを確かめなさい. /edu/g/po3_09/bubble1.java

More information

はじめに HTML5 の登場 Web 上で可能な表現や操作の増加 開発まわりも大きく変化 2

はじめに HTML5 の登場 Web 上で可能な表現や操作の増加 開発まわりも大きく変化 2 Web Components 開発におけるドキュメント同時生成手法の提案 1 はじめに HTML5 の登場 Web 上で可能な表現や操作の増加 開発まわりも大きく変化 2 はじめに ソフトウェア開発手法の輸入 データバインディング MVVM(Model/View/ViewModel) モデル タスクランナー Grunt/Gulp.js ECMAScript2015 etc 3 Web Components

More information

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

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド メソッド ( 教科書第 7 章 p.221~p.239) ここまでには文字列を表示する System.out.print() やキーボードから整数を入力する stdin.nextint() などを用いてプログラムを作成してきた これらはメソッドと呼ばれるプログラムを構成する部品である メソッドとは Java や C++ などのオブジェクト指向プログラミング言語で利用されている概念であり 他の言語での関数やサブルーチンに相当するが

More information

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

オブジェクト指向プログラミング・同演習 5月21日演習課題 オブジェクト指向プログラミング 同演習 5 月 21 日演習課題 問題 1 配列の例外処理例外が発生する可能性のある処理を try で囲み その後に catch で例外を捕捉します 例外処理の終了処理として finally が行われます これは書かなくて自動的に行われます 提出課題 1 (Kadai052301.java) 以下のプログラムは例外処理をしていない ArrayIndexOutOfBoundsException

More information

JavaScript 演習 2 1

JavaScript 演習 2 1 JavaScript 演習 2 1 本日の内容 演習問題 1の解答例 前回の続き document.getelementbyid 関数 演習問題 4 イベント処理 基本的なフォーム テキストボックスの入力値の取得 演習問題 5 演習問題 1 prompt メソッドと document.write メソッドを用いて, ユーザから入力されたテキストと文字の色に応じて, 表示内容を変化させる JavaScript

More information

Microsoft PowerPoint _2b-DOM.pptx

Microsoft PowerPoint _2b-DOM.pptx 要素ノードの参照 プロパティで参照可能な親 子 兄弟ノード 要素ノードの他に, テキストノード, ノード, コメントノードなど様々なノードが含まれる ( 処理中に判別が必要 ) 要素ノードのみ参照するプロパティ プロパティ 参照先 parentelement 親要素 firstelementchild 先頭の子要素 lastelementchild 末尾の子要素 nextelementsibng 直後の兄弟要素

More information

データアダプタ概要

データアダプタ概要 データベース TableAdapter クエリを実行する方法 TableAdapter クエリは アプリケーションがデータベースに対して実行出来る SQL ステートメントやストアドプロシージャで TableAdapter で型指定されたメソッドと仕て公開される TableAdapter クエリは 所有るオブジェクトのメソッドと同様に 関連付けられたメソッドを呼び出す事に依り実行出来る TableAdapter

More information

Microsoft PowerPoint - 09.pptx

Microsoft PowerPoint - 09.pptx 情報処理 Ⅱ 第 9 回 2014 年 12 月 22 日 ( 月 ) 関数とは なぜ関数 関数の分類 自作関数 : 自分で定義する. ユーザ関数 ユーザ定義関数 などともいう. 本日のテーマ ライブラリ関数 : 出来合いのもの.printf など. なぜ関数を定義するのか? 処理を共通化 ( 一般化 ) する プログラムの見通しをよくする 機能分割 ( モジュール化, 再利用 ) 責任 ( あるいは不具合の発生源

More information

SmartBrowser_document_build30_update.pptx

SmartBrowser_document_build30_update.pptx SmartBrowser Update for ios / Version 1.3.1 build30 2017 年 8 月 株式会社ブルーテック 更新内容 - 概要 ios Version 1.3.1 build28 の更新内容について 1. 設定をQRから読み込み更新する機能 2.URLをQRから読み込み画面遷移する機能 3.WEBページのローカルファイル保存と外部インテントからの起動 4.JQuery-LoadImageライブラリの組み込み

More information

ARC Automatic Reference Counting clang 新しいコンパイラ LLVMプロジェクト (http://llvm.org/) のコンパイラ C Objective-C C++ の効率的なコードを生成 オプションなどは gcc とほぼ共通 Apple社独自の拡張機能を実現 ARC ブロックオブジェクトなど ARCを利用するには clang が必須 コンパイルオプションに

More information

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac Actual4Test http://www.actual4test.com Actual4test - actual test exam dumps-pass for IT exams Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN

More information

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版   Copyright 2018 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 2.1. 本書の目的 2.2. 対象読者 2.3. サンプルコードについて 2.4. 本書の構成 3. 辞書項目 API 3.1. 最新バージョン 3.1.1. 最新バージョンの辞書を取得する 3.2. 辞書項目 3.2.1. 辞書項目を取得する 3.2.2.

More information

基礎計算機演習 実習課題No6

基礎計算機演習 実習課題No6 実習課題 No.6 課題は 3 題ある. 課題 6-1 時間内提出 次の実行例のように, 名簿を出力するプログラムをつくりたい. このプログラムでは, まず人数をたずね, 次にその人数分の名前を入力し, それを再びコンソールに出力する. なお, 空の名前が入力されても終了せずにその欄は空欄で出力するものとする. 注意とヒント この課題では,string 型の配列をまず宣言する. このとき, 配列の要素はちょうど名簿に入力する人数分だけを宣言すること

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

2 概要 市場で不具合が発生にした時 修正箇所は正常に動作するようにしたけど将来のことを考えるとメンテナンス性を向上させたいと考えた リファクタリングを実施して改善しようと考えた レガシーコードなのでどこから手をつけて良いものかわからない メトリクスを使ってリファクタリング対象を自動抽出する仕組みを

2 概要 市場で不具合が発生にした時 修正箇所は正常に動作するようにしたけど将来のことを考えるとメンテナンス性を向上させたいと考えた リファクタリングを実施して改善しようと考えた レガシーコードなのでどこから手をつけて良いものかわからない メトリクスを使ってリファクタリング対象を自動抽出する仕組みを メトリクス利用によるリファクタリング対象の自動抽出 ローランドディー. ジー. 株式会社 第 4 開発部 SC02 小林光一 e-mail:kouichi.kobayashi@rolanddg.co.jp 2 概要 市場で不具合が発生にした時 修正箇所は正常に動作するようにしたけど将来のことを考えるとメンテナンス性を向上させたいと考えた リファクタリングを実施して改善しようと考えた レガシーコードなのでどこから手をつけて良いものかわからない

More information

前ページからの続き // テキストボックス02 id 属性で取得 // id 属性で取得する場合は一意に決まるので 何番目かの指定は不要 var textbox02elem = document.getelementbyid("text_box02_id"); if ("001" == statee

前ページからの続き // テキストボックス02 id 属性で取得 // id 属性で取得する場合は一意に決まるので 何番目かの指定は不要 var textbox02elem = document.getelementbyid(text_box02_id); if (001 == statee 全体のヒント 1. テキストボックスの制御 1.1. 日付入力日付の入力ボックスは フォーカスが入った時にスラッショを消し フォーカスが他の項目等に移るとスラッシュが加わるようにする オンフォーカス 20100101 オフフォーカス 2010/01/01 1.1.1 オンフォーカス時にスラッシュを消す入力項目のスラッシュを消すには include/function.js ファイル内の var delslash

More information

自己紹介 名前 : 一ノ瀬太樹 所属 : HASH コンサルティング株式会社 OWASP Japan プロモーションチーム OWASP ZAP ユーザーグループ脆弱性診断研究会 ( 管理者その 3) Perl 入学式 ( サポーター ) HASH Consult

自己紹介 名前 : 一ノ瀬太樹 所属 : HASH コンサルティング株式会社 OWASP Japan プロモーションチーム OWASP ZAP ユーザーグループ脆弱性診断研究会 ( 管理者その 3) Perl 入学式 ( サポーター ) HASH Consult Affected 指定されているけど PoC が無いフレームワークで再現試験をした話 WASNight 2016 Summer = WASForum x OWASP Night 2016/8/16 一ノ瀬太樹 HASH Consulting Corp. 自己紹介 名前 : 一ノ瀬太樹 Twitter: @mahoyaya 所属 : HASH コンサルティング株式会社 OWASP Japan プロモーションチーム

More information

コンテンツメディアプログラミング実習2

コンテンツメディアプログラミング実習2 CMP 実習 2 JavaScript + 地図を使ってみよう 中村, 宮下, 斉藤, 菊池 1 必要な知識 JavaScript の基本 HTMLのどの部品なのかを指定する方法 その部品にイベントを埋め込む方法 それを JavaScript で記述する方法 2 要素をどうやって取得する? DOM とは Document Object Model HTML や XML の各要素についてアプリケーションから利用するための

More information

CodeGear Developer Camp

CodeGear Developer Camp T4 PHP チュートリアルセッション はじめての Delphi for PHP CodeGear エヴァンジェリスト高橋智宏 1 アジェンダ ハンズオントレーニングに必要なもの Delphi for PHP V2.0 の環境設定 VCL for PHP の基本的な動作を確認 フォトギャラリの製作 マスターページ 画像アップロード カスタムコンポーネントの導入 など 2 ハンズオントレーニングに必要なもの

More information

Onsen UI について Onsen UI について UI フレームワークとは モバイルアプリを作成する場合 パソコン向けのアプリケーションとは異なり アイコンを多用したり ボタンを指で押しやすいサイズにしたりして 小さな画面の中にアプリの機能を盛り込む工夫が必要です これらをすべて CSS や

Onsen UI について Onsen UI について UI フレームワークとは モバイルアプリを作成する場合 パソコン向けのアプリケーションとは異なり アイコンを多用したり ボタンを指で押しやすいサイズにしたりして 小さな画面の中にアプリの機能を盛り込む工夫が必要です これらをすべて CSS や Onsen UI 提供元 : アシアル株式会社 目次 Onsen UI について UI フレームワークとは モバイルアプリのための UI フレームワーク Onsen UI サンプルアプリの紹介 Yes No チャート 道路標識暗記アプリ その他の使い方 新規プロジェクトの作成方法 テーマカラーを変える方法 Onsen UI について Onsen UI について UI フレームワークとは モバイルアプリを作成する場合

More information

基本情報STEP UP演習Java対策

基本情報STEP UP演習Java対策 トレーニング編 1. 予約語 extends アクセスレベル class サブクラス名 extends スーパクラス名 { (1) スーパクラス ( 既存のクラス ) を拡張して, サブクラス ( 新しいクラス ) を定義する場合に extends を利用する (2) extends の後ろには, スーパクラスの名前を一つだけ指定できる (3) サブクラスからインスタンスを生成すると, スーパクラスに定義されたインスタンス変数やメソッドがこのインスタンス内部に引き継がれる

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

第 8 回の内容 クライアントサイド処理 JavaScript の基礎

第 8 回の内容 クライアントサイド処理 JavaScript の基礎 第 8 回の内容 クライアントサイド処理 JavaScript の基礎 クライアントサイド処理 クライアントサイド / サーバサイド クライアントサイド サーバサイド Web ブラウザ Web サーバ 動的な Web ページ Web ブラウザ Web サーバ Web ブラウザ Web サーバ リソース生成 描画 描画 リソース生成 再描画 描画 再描画 描画 リソース生成 再描画 動的な Web ページとページ遷移

More information

Boost.Preprocessor でプログラミングしましょう DigitalGhost

Boost.Preprocessor でプログラミングしましょう DigitalGhost Boost.Preprocessor でプログラミングしましょう DigitalGhost http://d.hatena.ne.jp/digitalghost/ http://twitter.com/decimalbloat 私のこと hatena のプロフィールとか 見てください とりあえず FizzBuzz 書いてみた #define FIZZBUZZ_OP(z, n, d) \ FIZZBUZZ_OP_I(

More information

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

Microsoft PowerPoint - exp2-02_intro.ppt [互換モード] 情報工学実験 II 実験 2 アルゴリズム ( リスト構造とハッシュ ) 実験を始める前に... C 言語を復習しよう 0. プログラム書ける? 1. アドレスとポインタ 2. 構造体 3. 構造体とポインタ 0. プログラム書ける? 講義を聴いているだけで OK? 言語の要素技術を覚えれば OK? 目的のプログラム? 要素技術 データ型 配列 文字列 関数 オブジェクト クラス ポインタ 2 0.

More information

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

できるプログラマーを本気で育てる Java 超 Webプログラマーへの第 歩 第 2 回オブジェクト指向 テクノロジックアート 瀬 嘉秀 できるプログラマーを本気で育てる Java 超 Webプログラマーへの第 歩 第 2 回オブジェクト指向 テクノロジックアート 瀬 嘉秀 内容 オブジェクト指向とは オブジェクト指向のしくみ Java 言語とオブジェクト指向 属性と振る舞い クラスとメソッド オブジェクト指向の特徴 演習問題 勉強会の参考書 Java ( アジャイルソフトウェア開発技術シリーズ 基礎編 ) 発売日 2012 年 5

More information

スライド 1

スライド 1 ( 補 1) 2018.4.18 電気通信大学大学院情報理工学研究科末廣尚士 補足 1. オブジェクト指向プログラミング プログラムを オブジェクト を中心に考える. 特徴 抽象化クラス, インスタンスの関係実装の隠ぺい カプセル化データと処理関数の一体化内部変数, 内部関数の隠ぺい 階層構造クラスの継承 多様性, 多態性関数, 演算子の上書き ( オーバーライド ), 多重化 ( オーバーロード

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下を入れること // vm12345 杉崎えり子 情報科学 B 第 10 回 GUI 情報科学 B Info2/3 info10 今日のフォルダー作成 Example10_1.java 1 今日やること Windows などで見られるウィンドウを作 成して (GUI プログラム ) そこに実行結 果を表示させる 2 ウィンドウの作成 Java を使用してウィンドウの作成をしたい

More information

Web プログラミング 1 JavaScript (3) (4 章 ) 2013/7/3( 水 ) 日時 講義内容 4/10 ( 水 ) ガイダンス Web (1 章 ) 4/17 ( 水 ) HTML+CSS (1) (2 章 ) 4/24 ( 水 ) HTML+CSS (2) (2 章 ) 5/

Web プログラミング 1 JavaScript (3) (4 章 ) 2013/7/3( 水 ) 日時 講義内容 4/10 ( 水 ) ガイダンス Web (1 章 ) 4/17 ( 水 ) HTML+CSS (1) (2 章 ) 4/24 ( 水 ) HTML+CSS (2) (2 章 ) 5/ Web プログラミング 1 JavaScript (3) (4 章 ) 2013/7/3( 水 ) 日時 講義内容 4/10 ( 水 ) ガイダンス Web (1 章 ) 4/17 ( 水 ) HTML+CSS (1) (2 章 ) 4/24 ( 水 ) HTML+CSS (2) (2 章 ) 5/8 ( 水 ) HTML+CSS (3) (2 章 ) 5/15 ( 水 ) HTML+CSS (4)

More information

Java から見たオブジェクト指向入門 オブジェクト指向 AtoZ セミナー ( 株 ) 豆蔵井上樹

Java から見たオブジェクト指向入門 オブジェクト指向 AtoZ セミナー ( 株 ) 豆蔵井上樹 Java から見たオブジェクト指向入門 オブジェクト指向 AtoZ セミナー ( 株 ) 豆蔵井上樹 趣旨 M Java を通してオブジェクト指向に対する理解をより深め 次のステップへの足がかりとなるようにする 2000.10.20 オブジェクト指向 AtoZ 2 対象 M オブジェクト指向をこれから始めたい方 M Javaをもっと使いこなしたい方 M 必要な知識 Java の言語仕様 UML 2000.10.20

More information

JavaScript演習

JavaScript演習 JavaScript 演習 1 2 JavaScript 演習の概要 1 回目 JavaScript の概要 開発環境 JavaScript の基本文法 1 2 回目 JavaScript の基本文法 2 イベント処理 1 3 回目 イベント処理 2 4 回目 DOM (Document Object Model) 3 JavaScript 演習 1 の内容 JavaScriptとは JavaScriptの開発環境整備と書き方

More information

Web データ管理 JavaScript (3) (4 章 ) 2011/12/21( 水 ) 湘南工科大学講義資料 Web データ管理 (2011) 阿倍 1/18

Web データ管理 JavaScript (3) (4 章 ) 2011/12/21( 水 ) 湘南工科大学講義資料 Web データ管理 (2011) 阿倍 1/18 Web データ管理 JavaScript (3) (4 章 ) 2011/12/21( 水 ) 1/18 演習室の PC のハードディスクには演習で作成したデータは保管できません 各 PC の ネットワーク接続 ショートカットからメディア情報センターのサーバーにアクセスしてください (Z ドライブとして使用できます ) 演習名 使用するフォルダ 演習 1 Z: Web データ管理 20111221

More information

目次 更新履歴... 1 ファイル構成... 3 main.js( エクステンションのパネル側 ) の処理... 4 hostscript.jsx の関数の呼び出し... 4 evalscript() のコールバック関数... 5 hostscript.jsx(illustrator 側 ) の処理

目次 更新履歴... 1 ファイル構成... 3 main.js( エクステンションのパネル側 ) の処理... 4 hostscript.jsx の関数の呼び出し... 4 evalscript() のコールバック関数... 5 hostscript.jsx(illustrator 側 ) の処理 Illustrator エクステンション処理作成 作成日 : 2017/12/05 作成者 : 中島 更新履歴 更新日 更新概要 作業者 2017/12/05 新規作成 中島 1 目次 更新履歴... 1 ファイル構成... 3 main.js( エクステンションのパネル側 ) の処理... 4 hostscript.jsx の関数の呼び出し... 4 evalscript() のコールバック関数...

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下のように自分の入れること // vm12345 杉崎えり子 情報科学 B 第 10 回 GUI 情報科学 B Info2/3 info10 今日のフォルダー作成 Example10_1.java 1 今日やること Windows などで見られるウィンドウを作 成して (GUI プログラム ) そこに実行結 果を表示させる 2 ウィンドウの作成 Java を使用してウィンドウの作成をしたい

More information

intra-mart WebPlatform/AppFramework

intra-mart WebPlatform/AppFramework intra-mart WebPlatform/AppFramework Ver.7.2 FormatCreator プログラミングガイド 2010/04/01 初版 変更年月日 2010/04/01 初版 > 変更内容 目次 > 1 はじめに...1 1.1 本書の目的...1 1.2 前提条件...1 1.3 準備...1 2 クラス指定...2 2.1 サンプル実行の準備...2

More information

2

2 プログラミング応用演習 b 第 3 回演習課題 2017/10/09 PAb 演習課題 プログラム仕様書作成課題 課題クラスを読み 次に示すクラスの仕様書を完成させよ なお 仕様書は クラス 1 つに付き 1 つ作成す る 加えて 図 1 のようなクラス継承の模式図を作成せよ < クラス名 のプログラム仕様書 > 作成者 : 学籍番号 名前 (1) クラスクラス名 : クラス名 説明 : クラスが何を表現しているか

More information

Java の ConcurrentHashMap における同期化 バッドケースとその対処法 2013 年 9 月湊隆行 1. はじめに表 1.1 に示すように Java の Collections Framework には 3 つの世代があります バージョン 1.0 から存在するレガシー API バ

Java の ConcurrentHashMap における同期化 バッドケースとその対処法 2013 年 9 月湊隆行 1. はじめに表 1.1 に示すように Java の Collections Framework には 3 つの世代があります バージョン 1.0 から存在するレガシー API バ Java の ConcurrentHashMap における同期化 バッドケースとその対処法 2013 年 9 月湊隆行 1. はじめに表 1.1 に示すように Java の Collections Framework には 3 つの世代があります バージョン 1.0 から存在するレガシー API バージョン 1.2 で追加されたロック機構を使わない API および バージョン 5.0 で追加された同期化コストが低い

More information

2

2 プログラミング応用演習 b 10 月 5 日演習課題 2016/10/05 PAb 演習課題 プログラム仕様書作成課題 課題クラスを読み 次に示すクラスの仕様書を完成させよ なお 仕様書は クラス 1 つに付き 1 つ作成す る 加えて 図 1 のようなクラス継承の模式図を作成せよ < クラス名 のプログラム仕様書 > 作成者 : 学籍番号 名前 (1) クラスクラス名 : クラス名 説明 : クラスが何を表現しているか

More information

Webプログラミング演習

Webプログラミング演習 Web プログラミング演習 STEP9 Ajax を利用した RSS フィードのタイムライン表示 Ajax Asynchronous JavaScript + XML クライアントサイド ( ブラウザ内 ) で非同期サーバ通信と動的ページ生成を組み合わせる技術の総称 ウェブアプリケーションの操作性向上 ( ページ遷移を伴わない ) サーバとの小刻みな通信 = 必要なデータを必要な時に要求 ( リクエスト

More information

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

問 次の Fortran プログラムの説明及びプログラムを読んで、設問に答えよ。 ソフトウェア基礎演習課題 文法理解度確認範囲 問題 1 データ型 ( 変数, データ型 ) 問題 2 制御構造 (switch 文 ) 問題 3 制御構造 (while 文 ) 問題 4 制御構造と配列 ( 総和 ) 問題 5 制御構造と配列 ( 総和, 平均 ) 問題 6 データ型と各種演算子 ( 文字列, 検索 ) 問題 7 クラスの定義 ( メソッドの定義, コンストラクタの定義, キャスト

More information

テンプレートエンジンの必要性 昔 (2000 年ごろ?) の典型的な PHP のコード : <?php // 処理?> <html> <body> <?php print("hello World!");?> </body> </html> 以下のような問題で衝突していた 1 一旦プログラムコードを

テンプレートエンジンの必要性 昔 (2000 年ごろ?) の典型的な PHP のコード : <?php // 処理?> <html> <body> <?php print(hello World!);?> </body> </html> 以下のような問題で衝突していた 1 一旦プログラムコードを デザイナーとプログラマーの共通言語 Smarty の導入と活用 テンプレートエンジンの必要性 昔 (2000 年ごろ?) の典型的な PHP のコード : 以下のような問題で衝突していた 1 一旦プログラムコードを埋め込んでしまうと

More information

5回目(JavaScript1)

5回目(JavaScript1) JavaScript 演習 1 1 JavaScript 演習の概要 1 回目 JavaScriptの概要 開発環境 JavaScriptの基本文法 1 2 回目 JavaScriptの基本文法 2 イベント処理 1 3 回目 イベント処理 2 4 回目 DOM (Document Object Model) 2 JavaScript 演習 1 の内容 JavaScriptとは JavaScriptの開発環境整備と書き方

More information

Microsoft PowerPoint - lec06 [互換モード]

Microsoft PowerPoint - lec06 [互換モード] 内 容 Ⅶ. クラスの定義 クラス定義の基本 フィールドの定義 メソッド定義 例題 : 円クラスのフィールドとメソッドの定義 コンストラクタ 例題 :Circle2を使ったアプレット 1 2 クラス定義の基本 オブジェクト指向のプログラム プログラム実行時に登場するオブジェクトの性質や挙動を記述する オブジェクトの性質や挙動を記述したものが クラス である Java プログラムを書くとはクラスを定義すること

More information

Prog2_6th

Prog2_6th 2017 年 11 月 2 日 ( 木 ) 実施 インテントインテントとは Android アプリは複数のアクティビティを持つことが出来, また, アクティビティ以外の要素も持つので, 複数のアクティビティ間, アクティビティとアクティビティ以外の要素との間といったオブジェクト間を結び付ける仕組みが必要となる その役割を担うのがインテントで, 複数のアプリ間やアプリとシステムとの間もインテントで結び付けることが出来る

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 2 回簡単な Java プログラムの作成と実行 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp 簡単な Java プログラム Java プログラムのファイル名 Java プログラムのファイル名命名ルール ファイル名とクラス名は同じでなければならない HelloJava.java public class HelloJava { public

More information

HTML に関する質問事項 doctype は何をしているか説明してください スタンダードモードとクアークスモードの違いは何ですか? XHTML ページを提供するときの制限は何ですか? 多言語でコンテンツをどのように提供しますか? data- 属性は何にとって良いですか? HTML5 をオープンな

HTML に関する質問事項 doctype は何をしているか説明してください スタンダードモードとクアークスモードの違いは何ですか? XHTML ページを提供するときの制限は何ですか? 多言語でコンテンツをどのように提供しますか? data- 属性は何にとって良いですか? HTML5 をオープンな 一般的な質問事項 昨日 今週に何を学びましたか? 何があなたをコーディングに惹きつけていますか? 最近直面した技術的な困難はどんなものですか? また それをどのように解決しましたか? ウェブアプリやウェブサイトを構築する際にユーザーインターフェース パフォーマンス SEO メンテナンス性などについてどのように考えますか? 好きな開発環境について教えてください (OS エディタ ブラウザ ツール等 )

More information

maegaki_4_suzuki_yuusuke.pdf

maegaki_4_suzuki_yuusuke.pdf JavaScript, ECMA262 5.1(June 2011) TC39 Conformance Suite Test262 Building modern JavaScript Engine YUSUKE SUZUKI, We implemented an engine that is fully compliant with ECMA262 5.1 (June 2011) and confirmed

More information

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

関数の動作 / printhw(); 7 printf( n); printhw(); printf(############ n); 4 printhw(); 5 関数の作り方 ( 関数名 ) 戻り値 ( 後述 ) void である. 関数名 ( 概要 プログラミング 関数 http://www.ns.kogakuin.ac.jp/~ct40/progc/ A- 関数の作り方を学ぶ 関数名, 引数, 戻り値 プログラミング で最も重要な事項 関数 プログラミング で最も重要な事項 制御 (for, if) プログラミング で最も重要な事項 ポインタ A- 関数名 引数 戻り値 E- E-4 関数の概要 0/ 関数とは, 複数の処理をひとまとめにしたもの.

More information

チュートリアルの目的 本チュートリアルの目的は 課題を解く ( 実装する ) ことで WGP の利用方法を習得することです 1. 課題内容 1 成績管理システム クライアント (JavaScript) と サーバ (SpringMVC) とを Ajax で連携させる 2 リバーシ リッチな 2D 描

チュートリアルの目的 本チュートリアルの目的は 課題を解く ( 実装する ) ことで WGP の利用方法を習得することです 1. 課題内容 1 成績管理システム クライアント (JavaScript) と サーバ (SpringMVC) とを Ajax で連携させる 2 リバーシ リッチな 2D 描 WGP チュートリアル Acroquest Technology 株式会社 チュートリアルの目的 本チュートリアルの目的は 課題を解く ( 実装する ) ことで WGP の利用方法を習得することです 1. 課題内容 1 成績管理システム クライアント (JavaScript) と サーバ (SpringMVC) とを Ajax で連携させる 2 リバーシ リッチな 2D 描画やアニメーションを実装する

More information

- i - org.t_engine.tenet.core.coreerrormessageexception org.t_engine.tenet.core Class CoreErrorMessageException java.lang.object +-java.lang.throwable +-java.lang.exception +-org.t_engine.tenet.core.coreexception

More information

フローチャート自動生成ツール yflowgen の使い方 目次 1 はじめに 本ツールの機能 yflowgen.exe の使い方 yflowgen.exe の実行方法 制限事項 生成したファイル (gml ファイル形式 ) の開

フローチャート自動生成ツール yflowgen の使い方 目次 1 はじめに 本ツールの機能 yflowgen.exe の使い方 yflowgen.exe の実行方法 制限事項 生成したファイル (gml ファイル形式 ) の開 フローチャート自動生成ツール yflowgen の使い方 目次 1 はじめに...2 2 本ツールの機能...2 3 yflowgen.exe の使い方...3 3.1 yflowgen.exe の実行方法...3 3.2 制限事項...3 3.3 生成したファイル (gml ファイル形式 ) の開き方...4 3.3.1 yed Graph Editor を使って開く...4 3.3.2 yed

More information

memo

memo 計数工学プログラミング演習 ( 第 4 回 ) 2016/05/10 DEPARTMENT OF MATHEMATICA INFORMATICS 1 内容 リスト 疎行列 2 連結リスト (inked ists) オブジェクトをある線形順序に並べて格納するデータ構造 単方向連結リスト (signly linked list) の要素 x キーフィールド key ポインタフィールド next x->next:

More information

Undestand の解析 Understand の C 言語で抽出できない依存関係について サンプルコードを用いて説明します 確認バージョン Understand 3.0 (Build 640) Understand 3.1 (Build 700) Understand 4.0 (Build 78

Undestand の解析 Understand の C 言語で抽出できない依存関係について サンプルコードを用いて説明します 確認バージョン Understand 3.0 (Build 640) Understand 3.1 (Build 700) Understand 4.0 (Build 78 Undestand の解析 Understand の C 言語で抽出できない依存関係について サンプルコードを用いて説明します 確認バージョン Understand 3.0 (Build 640) Understand 3.1 (Build 700) Understand 4.0 (Build 788) 抽出できない依存関係 Understand の C 言語の解析 (Fuzzy/Strict) で

More information

第5回 マインクラフト・プログラミング入門

第5回 マインクラフト・プログラミング入門 マインクラフト プログラミング応用 第 2 回はじめてのプラグイン はじめての JavaScript はじめてのプラグイン 2018.01.22 鎌倉シチズンネット (KCN) 2017-2017 Kamakura Citizens Net All rights reserved 1 はじめての JavaScript(0) JavaScript とは JavaScript はスクリプト言語と呼ばれるプログラミング言語の一種で

More information

CプログラミングI

CプログラミングI C プログラミング I Swap 関数を作る Stack データ構造のための準備 整数変数 x と y の値を取り替える関数 swap を作る 最初の試み : swap-01.c #include void swap(int a, int b) { int tmp; tmp = a; a = b; b = tmp; int main(void) { int x=10, y=30;

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅱ 4 回目クラスの機能 (2) コンストラクタ クラス変数 クラスメソッド課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) コンストラクタはメソッドと同様に戻り値をもつ (2) コンストラクタはオブジェクトが生成されると最初に実行される (3) コンストラクタはメソッドと同様にオーバーロードができる (4) コンストラクタは常に public メンバとしなければならない

More information

Microsoft PowerPoint - 08LR-conflicts.ppt [互換モード]

Microsoft PowerPoint - 08LR-conflicts.ppt [互換モード] 属性文法 コンパイラ理論 8 LR 構文解析補足 : 属性文法と conflicts 櫻井彰人 Racc (Yacc 系のcc) は属性文法的 非終端記号は 値 (semantic value) を持つ パーザーは パーザースタックをreduceするとき ( 使う規則を X ::= s とする ) s に付随する semantic value (Racc では配列 valueにある ) を用いて action

More information

Undestand の解析 Understand の C 言語で抽出できない依存関係について サンプルコードを用いて説明します 確認バージョン Understand 3.0 (Build 640) 抽出できない依存関係 Understand の C 言語の解析 (Fuzzy/Strict) で 抽出

Undestand の解析 Understand の C 言語で抽出できない依存関係について サンプルコードを用いて説明します 確認バージョン Understand 3.0 (Build 640) 抽出できない依存関係 Understand の C 言語の解析 (Fuzzy/Strict) で 抽出 Undestand の解析 Understand の C 言語で抽出できない依存関係について サンプルコードを用いて説明します 確認バージョン Understand 3.0 (Build 640) 抽出できない依存関係 Understand の C 言語の解析 (Fuzzy/Strict) で 抽出できない依存関係には 以下があります ポインタ関連 関数ポインタによる関数の呼び出し 関数テーブル (

More information

WPF アプリケーションの 多言語切替

WPF アプリケーションの 多言語切替 元に戻す操作の実装 YK S o f t w a r e 2015 年 8 月 7 日 @twyujiro15 プロフィール 加藤裕次郎 本職は製造業の開発業務 - 2009 年 4 月に入社 1982.03.03 生まれ ( うお座 ) 左利き ( お箸は右 ) twitter : @twyujiro15 プログラミング経験 Excel VBA MATLAB MATX C VC++ (Windows

More information

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

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 次のステップによって 徐々に難易度の高いプログラムを作成する ( 参照用の番号は よくわかる C 言語 のページ番号 ) 1. キーボード入力された整数 10 個の中から最大のものを答える 2. 整数を要素とする配列 (p.57-59) に初期値を与えておき

More information

Seasar.NET入門

Seasar.NET入門 2007 Spring Seasar.NET 入門 2007.5.27 Seasar.NET 杉本和也 2007 Spring Copyright 2004-2007 The Seasar Foundation and the others. All rights reserved. 1 杉本和也と申します 高知県の株式会社アイビスに勤務しています プログラミング歴 6 年 オープンソース歴 2 年

More information