タグ

staticに関するtyosuke2011のブックマーク (12)

  • 作って理解するDIコンテナ - きしだのHatena

    DIコンテナ使ってるけど、アノテーションってなんなの!って聞かれて、作ってみたらわかるよと答えてみたので、自分でも作ってみました。 よくわかった。 「DIコンテナ使うと何がいいの?」ということも、作ってみるとわかります。あと「DIって何がいいの?」に関しては、「DIはちょっとコードを書くのが楽になるだけで、それだけあっても仕方ない、大事なのはコンテナ」と答えるようにしてますが、コード比率からもそれがよくわかります。 続編としてWebフレームワークも作っているので参考まで。 作って理解するWebフレームワーク - きしだのHatena まずはコンテナを作る とりあえず1ソースの状態で。 こんな感じで、管理する型を登録できるようにします。 static Map<String, Class> types = new HashMap<>(); static void register(String

    作って理解するDIコンテナ - きしだのHatena
  • 演算子のオーバーロード

    概要 オブジェクト指向言語ではクラスを定義することで自分の思い通りの「型」を作ることが出来ます。 このような自作の型は、int や double などの組込み型と区別するため、 ユーザー定義型と呼ばれています。 ユーザー定義型の理想は、組込み型とまったく同じように扱えることです。 ユーザー定義型をあたかも組込み型であるかのように扱えるようにするため、 C#には演算子のオーバーロードというものが用意されています。 C#の組込み型には + や - などの演算子が用意されていますが、 演算子のオーバーロードを行うことで、 ユーザー定義型にも自分で演算子を定義することが出来、 組込み型と同じように扱うことができます。 このように、演算子のオーバーロードによってユーザ定義型に追加された演算子のことをユーザ定義演算子と呼びます。 ポイント 組み込み型(int や string など)とユーザー定義型(

    演算子のオーバーロード
  • 本当に怖いC++erとC++という糞言語 - 神様なんて信じない僕らのために

    かつて、ゲームプログラミングはアセンブリが主流で、8bitCPUは掛け算や割り算すらないものでした。割り算がないCPUっていつの時代だよ、っていう人たちもおりますが、ゲームボーイアドバンスに搭載されているARM7TDMIは除算の命令を持っていません。(故に除算を書くと死ぬほど遅いので、乗算で代用したりする) また、浮動小数に対する演算ユニットを持っていないハードウェアもあります。ニンテンドーDSに搭載されているARM946E-Sですら、浮動小数演算ユニットはありません。(CPUの機能としてはオプションで存在する)そのために固定小数点といった技術もあるわけですが、古くさい話です。 これらはCとC++の機能を駆使していかにパフォーマンスを出すかを余儀なくされた時代です。 さておき、最近はスマートフォンでのゲーム開発も進化しており、C++iPhoneAndroidの両方で動くということもあ

    本当に怖いC++erとC++という糞言語 - 神様なんて信じない僕らのために
  • staticの意味を徹底的に理解する

    <IT技術の処方箋:staticの意味を徹底的に理解する> staticは、クラス特有の値をもち、オブジェクト毎に値を持ちません。 と言っても慣れていない方はチンプンカンプンでしょう。 そこで、以下のサンプルで覚えましょう。 2つのサンプルjavaを用意します。 ●一つ目 class Study_static{ static int a; int b; } ●二つ目 public class HelloWorld { public static void main(String args[]) { System.out.println("Hello World!"); Study_static x = new Study_static(); x.a = 1; x.b = 2; Study_static y = new Study_static(); y.a = 3; y.b = 4; Sy

  • UnityEditor上で艦これはできる - Qiita

    この方のツイートを見てやってみました。 UnityのEditor拡張で艦これタブとか誰か作ってそう — 月琴かりん@開発修羅場 (@karinharp) October 9, 2014 Unity4.5 表示される。けど操作できない。 あ...これ満員だからクリックしても反応ないだけ?艦これやったこと無いのでわかりません\(^o^)/ using UnityEngine; using UnityEditor; public class Kancolle : EditorWindow { WebView webview; [MenuItem("Window/Kancolle")] static void Open () { var window = GetWindow<Kancolle> (); window.wantsMouseMove = true; } void OnGUI () {

    UnityEditor上で艦これはできる - Qiita
  • ジェネリクスと内部クラス その3

    すぐに書くつもりが間が開いてしまいました。 誰が読むんだこんなマニアックな話題シリーズ第三部、完結編です。 わんくまではJavaはマイナーなのもあってか、単にマニアックすぎるのか、 このシリーズは非常にアクセス数が少ないです。ちょっと寂しいですね。 無名クラスでのジェネリクス 無名クラスの場合も 前回のローカル内部クラス と基的に一緒です。 public class Hoge<T> { public static <X> void main(String[] args) { // staticメソッド内での無名クラス // staticメソッドなので型パラメータTは不可視なのでコンパイルエラーとなる Comparable<T> comparableT = new Comparable<T>() { // NG! @Override public int compareTo(T o) {

  • 第6章:配列を使う Java入門 (基礎文法編) Accel Works

    今回は前回の続きで、配列についてです。 Javaももちろん配列が使用できます。 ご存知な方も多いとは思いますが、配列について簡単に説明しておきます。 配列とは、1つの変数名で複数の値を保持したい場合に使います。 どのようにするかというと、変数に番号をつけるのです。 具体的には name[0]="1番目の値"; name[1]="2番目の値"; name[2]="3番目の値"; というように記述します。 こうすると「name」という名前の変数に複数の値を設定できますよね。 配列の宣言の方法も決まっています。 String[] name = new String[3]; といった具合です。 これで name[0]、name[1]、name[2]というString型の変数を使います、 という宣言になります。 ちなみに String name[] = new Strin

  • 第4章:プログラムの書き方 Java入門 (基礎文法編) Accel Works

    それでは、前回使用したプログラムを簡単に説明していきます。 前回使用したプログラムは以下のようなものでした。 class PrintTest{ public static void main(String[] args){ //コマンドプロンプトに"Java Test"と表示します System.out.println("Java Test"); } } 5行だけの簡単なプログラムです。 まず最初に作成するプログラム名をしています。 Javaの場合、プログラムは「クラス」という単位で分けて作成します。 今回のプログラムは「PrintTest」という名前のクラスになります。 これが1行目ですね。 class PrintTest{ public static void main(String[] args){ //コマンドプロンプトに"Java Test"と表示します Syste

  • rを変数に解決できません(´・ω・`) | もぐら王国

    何もやってないのにエントリ名のエラーが出た(´・ω・`) ←ゼッタイウソ ナンカヤッテル アクションバーのセットアップをチェックする為にサポートライブラリを入れて ちょこっと設定を変えたりしたけど、それ以外は何もやってないのに、 "rを変数に解決できません"というエラーが発生した。 これはバグですか(・∀・)? ←ヤッパリナンカヤッテタ 発生した原因も解決した理由もわからないが一応エラーが消えるまで流れ。 なんか大昔にもR.javaではまっていたような気がする… R.java そもそもR.javaってなんだべ(´・ω・`)? おかゆライスが好きで下駄履きで自転車に乗るアンドロイドかというと そういうことでもないらしい。 ヤッテクルヨ~ゴ~テンゴ~(・∀・)♪ SDKによって自動生成される、リソースへ与えられたリソースIDを まとめて保持するjavaのソースファイルということらしい。

    rを変数に解決できません(´・ω・`) | もぐら王国
  • [Unity] 他オブジェクトと連携-FindとかGetComponentとかSendMessageとか | myoujing!!

    今回はUnity始めたての人に向けて、他のオブジェクトとの連携を取る際の方法について書きます。Find系、GetComponent系、SendMessage系あたりで他オブジェクトの関数やメソッドを参照したり使いたいみたいな事です。オブジェクト指向のキモとなるところなので利便性のためいくつかの方法があり、それゆえ最初の頃に詰まる部分になってくる。自分がUnity触りはじめの頃にひとつの方法を調べたら他の方法も芋づるで出てきてどんどん調べ事が増えて困ったので、うまくまとめられれば過去の私のような方の時間短縮になるはず。 まず系統で分けつつ方法を書き出してみる。 public static Inspectorウインドゥでアサインする Find系 Find FindWithTag(複数ならFindGameObjectsWithTag) FindObjectOfType(複数ならFindObjec

  • 【ラムダ式】 定義済みデリゲート一覧

    今回は定義済みデリゲートのお話です。 定義済みデリゲートとは、クラスライブラリで定義されているラムダ式を格納出来る型のことです。 前回までのサンプルコードでは、Actionデリゲート型のみを使用しましたが、 .NET FrameworkにはAction以外にもラムダ式に使用できる型が定義されています。 以下のコードを御覧ください。 class Program { static void Main(string[] args) { // string型の引数1つ、戻り値voidのラムダ式 Action<string> lambda1 = (string message) => /* 括弧の中に型を明示しても良い */ { // 引数で受け取った文字列を表示 Console.WriteLine(message); }; // string型の引数1つを受け取り、int型の戻り値を返すラムダ式

    【ラムダ式】 定義済みデリゲート一覧
  • C言語のstatic指定子について

    C言語のstatic指定子について説明しています。staticを使用する場所は関数の中と外の2種類あります。それぞれについて説明します。 staticとは、C言語での記憶クラス指定子のひとつで宣言したオブジェクトに静的な記憶クラスを与えるものです。staticはスタティックと読みます。記憶クラス指定子には、他にauto, register, extern, typedefがあります。

  • 1