javaにおける抽象クラスとインターフェースの違い
実は,抽象クラスとインターフェースの違いをしっかりと分かっていなかったのでちょっとまとめてみる.
両方ともオブジェクト指向での多様性に対応するシステムなのだが,機能にいくつか違いがある.
それぞれ以下の様な定義になっている.
インターフェース
インターフェースは抽象メソッドとstaticメンバからなるクラス(のようなもの).
抽象クラス
抽象クラスは抽象メソッドを持つクラス.
では,この2つの違いは何かというと,
1つのクラスが2種類以上のインターフェースを持つことはできるが,
抽象クラスは1つしか持てない
ことだと思った.
論文の構成
卒論を書き始める季節ですね.
ここまで,先生方にならった構成の仕方を一度まとめてみようと思います.
一番,外枠についてまとめてみる.
おおまかに内容で分けると以下の5つになる.
- はじめに
- アプローチの流れ
- アプローチについて
- 結果
- まとめ
それぞれの項目ごとに何を書けばいいかについてもまとめてみる.
はじめに
はじめには,背景,目的,関連研究について書く.
目的では,背景問題の内,どこを扱い,何を使い,何を得たいのかということを定義する.
アプローチの流れ
形式化された目的に対して,どのようにアプローチを設計するかを説明する.
アプローチについて
アプローチで設計した内容をどのように
結果
アプローチを行って得られた結果をまとめる.
発展研究などについてもここ.
eclipseで作成したプログラムをコマンドプロンプトから実行
普段,eclipseでプログラムを組んで,eclipse上で実行を行っています.今回,コマンドプロンプトから動くjavaプログラムを作る必要があってそのとき調べたことのまとめです.
基本的にeclipse内で作成したプログラムはディレクトリでは以下の様な構造をしています.
workspace---project名1---src---package名1---class名1.java |-project名2 | |-class名2.java |-project名3 | |・・・ |・・・ |-bin---package名2---class名1.class |・・・ |-class名2.class |・・・
このディレクトリのbinにいるときに以下のmain関数を含んだクラスを実行するとプログラムが実行できます.
違うディレクトリで実行したいときはコマンドプロンプトに「
java -cp C:\workspaceまでのパス\workspace\project名1\bin package名1\class名1.class
とコマンドしてやれば実行できます.
will_paginate
最近、ruby-rails環境を使ってちょっとしたアプリを作っています。
そこでちょっとはまったのでまとめ
will_paginateというページ送り機能のプラグインをインストールする。
まずはgemでwill_paginateをインストール。
> gem install will_paginate enter Successfully installed will_paginate-2.3.15 1 gem installed Installing ri documentation for will_paginate-2.3.15... Installing RDoc documentation for will_paginate-2.3.15...
次に、will_paginateを使うアプリのconfig/environment.rb内に以下を記述
require 'will_paginate'
ここでさっそくエラーが
rails server => Booting WEBrick => Rails 3.0.0 application starting in development on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server Exiting /config/environment.rb:4:in `require': no such file to load -- will_paginate (LoadError) from /config/environment.rb:4 from /config.ru:3:in `require' from /config.ru:3 from /vendor/bundle/ruby/1.8/gems/rack-1.2.1/lib/rack/builder.rb:46:in `instance_eval' from /vendor/bundle/ruby/1.8/gems/rack-1.2.1/lib/rack/builder.rb:46:in `initialize' from /config.ru:1:in `new' from /config.ru:1
config/environment.rbからwill_paginateが呼び出せていないよう。
調べてみるとどうやらGemfileに記述しなければいけないらしいので
さっそく下の行をGemfileに書き加える
gem 'will_paginate'
Gemfileに書き加えた後はbundleで更新しなければならないらしい。
>bundle check Your Gemfile's dependencies could not be satisfied Install missing gems with `bundle install` >sudo bundle install Fetching source index for http://rubygems.org/ Using rake (0.8.7) Using abstract (1.0.0) … Using twitter (0.9.8) Installing will_paginate (2.3.15) Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed. Your bundle was installed to `vendor/bundle`
これでインストールと設定は完了。
参考URL
『will_paginateをインストール、設定しよう Ruby on Rails Pro』
http://maskana.homedns.org/rails/pro/body/103
『第11回: Bundler - Ruby on Rails 3.0 日記 - Ruby on Rails with OIAX』
http://www.oiax.jp/rails/rails3/bundler.html