タグ

classに関するyukimori_726のブックマーク (15)

  • 【ruby】 メソッド探索から見る、モジュール・特異メソッド・特異クラス - 圧倒亭グランパのブログ

    rubyを書き始めて間もない頃、 「なんで NoMethodError なんだ...。あ、メソッド定義にself 付けたら通った。」 みたいなことがありました。 rubyを読んでいると、そのあたりがハッキリとイメージできるようになったのでまとめておきます。 参考にした 年明けからひたすらRubyを読んでいます。読了したのは以下。 現在は Effective Ruby を読んでいます。 これらを読んでいくと、中途半端に理解していた部分がカチッとハマるのでオススメです。 ※ 今回のコードは ruby 2.2.0 で試したものです。 オブジェクトとクラスの関係 サンプルコードを見てみましょう。 class C def c_instance_method @my_var = 1 end end obj = C.new 当初、自分はオブジェクトとクラスの関係を以下のように考えていました。 (

    【ruby】 メソッド探索から見る、モジュール・特異メソッド・特異クラス - 圧倒亭グランパのブログ
  • Google流 JavaScript におけるクラス定義の実現方法

    目次 2019年追記 はじめに クラス実現のために必要な JavaScript の言語仕様 function this call new 演算子 prototype チェーン プロパティ: prototype Google Closure 流のクラスの実現方法の概要 クラスの宣言とコンストラクタの定義 メンバ変数 (インスタンス変数) メソッド定義と呼び出し private, protected 継承 プロトタイプチェーンを利用してメソッドを親クラスから引き継ぐ 親クラスのコンストラクタの呼び出し メソッドオーバーライドと親クラスのメソッドの呼び出し 多重継承 abstract, interface inherits の実際のコード 良くないクラス実現方法 ES6 のクラス 2019年追記 この記事ではclassが導入されたES6以前のJavaScriptでどのようにクラスに相当するものを

  • インナークラス使う場合の検討材料あれこれ - 前人未踏の領域へ Androidアプリ開発編

    メモ書きです。失礼。 パフォーマンス観点 ■ Privateインナークラスからprivateなアクセスをする代わりにパッケージを検討する http://developer.android.com/intl/ja/training/articles/perf-tips.html#PackageInner ■ 無名クラスだと毎回クラス定義が走るから遅いということはない(コンパイル時に解決される) http://stackoverflow.com/questions/3028341/java-anonymous-class-efficiency-implications メモリリーク観点 ■ Effective Java 項目6 廃れたオブジェクト参照を取り除く 項目22 非staticのメンバークラスよりstaticのメンバークラスを選ぶ ■ メモリリークの回避(記事が古いが) https:/

    インナークラス使う場合の検討材料あれこれ - 前人未踏の領域へ Androidアプリ開発編
  • Javascript入門 クラス継承、new演算子、プロトタイプチェーン Q&A - Qiita

    分からなかったので、備忘録がてら、Q&A形式でまとめてみた。 「どうすりゃいいのか」から始めて「どういう意味なのか」に踏み込んでいったつもりです。 ご意見、ご感想、ご要望、間違いの指摘などございましたら、コメント欄まで。 Q1: Javascriptでは、クラスは関数で作ると聞きました。どういうことですか? こういうことです。 /* コンストラクタとなる関数。 クラス変数は、this.a = ... のようにして初期化します。 この関数は、通常は何も返しません。 */ function Foo(a){ /* 初期化処理 */ this.a = a; } /* Foo関数をコンストラクタとして作られたインスタンスは、 Foo.prototypeが持つプロパティにアクセスできます。 次のようにメソッドや定数を定義するとよいでしょう。 */ Foo.prototype.func = functi

    Javascript入門 クラス継承、new演算子、プロトタイプチェーン Q&A - Qiita
  • Pythonのクラスメソッド定義の整理 - zzlog

    クラスメソッドとは? クラスメソッドはクラス内で定義されたメソッドで、かつインスタンス化しなくても呼び出すことができます。 クラス内で定義されるメソッドにはもうひとつ、インスタンスメソッドがあります。インスタンスメソッドは、インスタンス化されて初めて呼び出すことが出来ます。 インスタンスメソッドの定義と呼び出し インスタンスメソッドの定義は特別なことは何もない、普段定義している通りです。 class Spam(): def say_spam(self): return "I'm a spam" この例では、say_spamがインスタンスメソッドに当たります。 say_spamメソッドは次のように呼び出します。 s = Spam() # ここでSpamクラスをインスタンス化 print s.say_spam() # インスタンス化したsオブジェクトからsay_spamメソッドを呼び出し #

    Pythonのクラスメソッド定義の整理 - zzlog
  • Pythonのオブジェクトとクラスのビジュアルガイド – 全てがオブジェクトであるということ | POSTD

    Python開発者が大好きな言葉があります。それは”全てはオブジェクトである”です。実際、私自身もPythonのクラスを教えているときに何度も口にしています。多くの人が何度も聞いた言葉かもしれないのですが、私が言う度に生徒は賛同の相槌をしてくれます。結局のところ、Javaにおいて全ては(対象がそうでない場合を除いて)オブジェクトであり、.NETにおいても全てはオブジェクトであると、よく言われています。 しかしPythonにおいて全てがオブジェクトであると言う時、(私の生徒は驚いていましたが)「 全て 」にはクラスも含まれているのです。これはとても筋が通っていて、オブジェクトシステム全体が理解しやすくなります。しかしそれでも、広い視野で物事を見ることは難しいのです。 今回のブログ記事では、Pythonのオブジェクト間のつながりをざっと見ていきたいと思います。そして”全てはオブジェクトである”

    Pythonのオブジェクトとクラスのビジュアルガイド – 全てがオブジェクトであるということ | POSTD
  • Javaのクラスファイルをjavapとバイナリエディタで読む | DevelopersIO

    はじめに こんにちは、虎塚です。 この記事はJava Advent Calendar 2014 の22日目の記事です。昨日はすふぃあ (@empressia) さんの「JavaEEなWebアプリケーションを作ろうとしたときのお話: すふぃあの記憶」でした。 この記事では、「Javaクラスファイルの読み方・増補版」と題しまして、12月20日(土)に開催したJavaクラスファイル入門という勉強会でお話しした内容の補足をお届けします。なお、勉強会のターゲットは、 Javaプログラムは書いたことがあるけど、JVMのことは全然知らない Javaクラスファイルのバイナリを見たことがない といった初心者の方や新人さんでした。なので、Javaに興味さえあれば、どなたでもお読みいただける内容かと思います。 JVM仕様とは JavaとJVM Javaプログラム(.java)をコンパイルすると、中間コードと呼ば

    Javaのクラスファイルをjavapとバイナリエディタで読む | DevelopersIO
  • インナークラスについてまとめてみた - ほげほげ(仮)

    結構なんとなくな状態でやってきたJavaのインナークラス(内部クラス)についてまとめました。 publicなインナークラス public class Outer { private int field; private static int staticField; public void hoge() { // アウタークラスからインスタンスの生成可能 Inner inner = new Inner(); inner.bar(); System.out.println("Outer#hoge"); } public class Inner { public void bar() { // アウタークラスのフィールド、static変数を参照可能 int local = field; int local2 = staticField; System.out.println("Inner#ba

    インナークラスについてまとめてみた - ほげほげ(仮)
  • クラス継承

    Pythonではクラスを継承して、既存クラスを容易に拡張することができます。 クラス継承の基礎 親クラスであるCountryを定義しcountry_name属性を保持します。さらにCityをCountryクラスを継承して定義しcity_name属性を保持します。 class Country: def __init__(self, country_name): self.country_name = country_name class City(Country): def __init__(self, country_name, city_name): super().__init__(country_name) self.city_name = city_name classes = [] classes.append(City('Japan', 'Tokyo')) classes.ap

    クラス継承
  • いぬごやねっと

    4geek.net 2024 著作権. 不許複製 プライバシーポリシー

    いぬごやねっと
  • 匿名クラスとかローカルクラスとか - 日々常々

    Java入門では割愛としていたローカルクラスと、ついでに関連の強い匿名クラスについて書いておきます。ネストしたクラスとかインナークラス(内部クラス)とかはそこそこしっかり書いたつもりなので、読んでいただけると嬉しいです。 Javaエンジニア養成読 [現場で役立つ最新知識、満載!] (Software Design plus) 作者:きしだ なおき,のざき ひろふみ,吉田 真也,菊田 洋一,渡辺 修司,伊賀 敏樹技術評論社Amazon 言語仕様とか読んでもいいと思いますし、この辺りも参考に見てみるといいと思います。 ローカルクラスの意義 - ぐるぐる~ 2009/3/14 Javaのクラス宣言5種+α - プログラマーの脳みそ 2012/3/8 Javaのクラスの使用 - ひしだま's 技術メモページ 2010/1/9 みなさまにはいつもおせわになってます。 宣言とか呼び方とか それぞれど

    匿名クラスとかローカルクラスとか - 日々常々
  • Java クラスファイルの構成 その1 - Qiita

    class_file { magic // 0xcafebabe minor // 2 byte major // 2 byte constants modifiers // 2 byte thisClass // 2 byte superClass // 2 byte interfaces fields methods attributes } クラスファイルの先頭には必ず 0xcafebabe (カフェベイビー) が入っています。 minor, major はクラスファイルのバージョン番号が入っています。 バージョン番号の次は 定数プール と呼ばれる構造体です。 定数プールはクラスファイルの大部分を占めており、クラスファイルの様々な場所から参照されます。 modifiers はクラスのアクセス修飾子等を表現するフラグの集合です。 thisClass に入っている値は定数プールのインデッ

    Java クラスファイルの構成 その1 - Qiita
  • Java の throws 節では型変数が使える - 映画は中劇

    つい先だって知ったのですが、 Java のメソッドの throws 節では型変数が使えます。 8.4.6 Method throws / Java Language Specification これによって、投げる可能性のある例外の型が使い手側で変えられるようなメソッドを書くことができます。たとえば次のプログラムのように、例外の型と例外オブジェクトの生成を使い手にまかせる汎用の表明メソッドが書けます。 *1 class Checker { static <T extends Throwable> void check(boolean condition, Supplier<T> supplier) throws T { if (! condition) { throw supplier.get(); } } } class SomeException extends Exception {

    Java の throws 節では型変数が使える - 映画は中劇
  • [Java] Inner Classのstatic有りと無しの違い | quabbinの日記 | スラド

    C:\Develop>copy con A.java class A { static class X { } class Y { } void method() { A.X x = new A.X(); A.Y y = new A.Y(); } } ^Z 1 個のファイルをコピーしました。 C:\Develop>Language\jdk1.6.0_07\bin\javac.exe -g:none A.java C:\Develop>dir ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は 3574-3602 です C:\Develop のディレクトリ 2008/09/20  00:52    <DIR>          . 2008/09/20  00:52    <DIR>          .. 2008/09/20  00:52           

  • あなたの知らない、4つのマニアックなJava文法

    あなたの知らない、4つのマニアックなJava文法:【改訂版】Eclipseではじめるプログラミング(17)(1/3 ページ) これからプログラミングを学習したい方、Javaは難しそうでとっつきづらいという方のためのJavaプログラミング超入門連載です。最新のEclipse 3.4とJava 6を使い大幅に情報量を増やした、連載「Eclipseではじめるプログラミング」の改訂版となります 知ってました? Javaでも、あんなことやこんなことが… 前回の「“ネスト”した型で始める軽量Javaプログラミング!?」では、通常のJavaプログラミングよりもライトウェイト(軽量)なプログラミングをするために、「ネストした型/クラスとは何か」について基的な説明をしました。 ネストした型をきちんと利用できるようになるには、「staticのネストしたクラス」「内部クラス(インナークラス)」「エンクロージン

    あなたの知らない、4つのマニアックなJava文法
  • 1