[Perl] use baseはpackageの所属するクラスを宣言するのに使用されます。これにより親クラスのメソッドを使えるようになります。本来は以下のように書くのを簡単に済ますことができます。 [use baseを使わない場合]
The venerable “mixin” is a technique I learned as a Python developer. Now, after writing Ruby code for the past year, I’m excited to compare how these two languages approach mixins, including similarities, differences, and traps. There will be code! Table of Contents What is a Mixin? Mixins in Python Adding Instance Methods Adding Class Methods Trap: The Order of Superclasses Matters! Adding Insta
この記事では Less & Sass Advent calendar 2011 の 16 日目として、Sass の @extend 機能について書いてみます。が、諸事情により締め切りを過ぎてからあわてて書いており、かなりとっ散らかったものになるであろうことをあらかじめお断りしておきます。 さて、まずは @extend の基本的な機能についてざっとおさらい。@extend される側として一連のスタイルを定義したセレクタがあり、そのセレクタを @extend で継承しつつプロパティを追加したりして、新しいセレクタを作ります: // SCSS // 継承元のセレクタ .button { display: inline-block; border: 1px solid gray; background-color: silver; &:hover { border-color: black; }
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "Adapter パターン" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2023年1月) Adapter パターン(アダプター・パターン)とは、GoF によって定義されたデザインパターンの1つである。Adapter パターンを用いると、既存のクラスに対して修正を加えることなく、インタフェースを変更することができる。Adapter パターンを実現するための手法として継承を利用した手法と委譲を利用した手法が存在する。それぞれについて以下の節で説明する。 継承を利用したAdapter[編集] 継承を利用したAdapterは、利用したいクラスの
JavaScript Has No Class Prototypes, not classes Define a "class" function Food () { // Define an instance variable this.calories = 100; } Doesn't "say what it means" (looks like a function) Non-intuitive to newcomers Compared to: class Food { } Define a "method" VirtualPet.prototype.setCalories = function (newCalories) { } Requires an understanding of: Constructor functions Functions creating obje
I’ve been doing a lot of work, lately, with JavaScript inheritance – namely for my work-in-progress JavaScript book – and in doing so have examined a number of different JavaScript classical-inheritance-simulating techniques. Out of all the ones that I’ve looked at I think my favorites were the implementations employed by base2 and Prototype. I wanted to go about extracting the soul of these techn
Java Tutorial Java - Home Java - Overview Java - History Java - Features Java vs C++ Java Virtual Machine(JVM) Java - JDK vs JRE vs JVM Java - Hello World Program Java - Environment Setup Java - Basic Syntax Java - Variable Types Java - Data Types Java - Type Casting Java - Unicode System Java - Basic Operators Java - Comments Java - User Input Java Control Statements Java - Loop Control Java - De
トレイト (英: Trait) は、コンピュータープログラミングでの概念であり、専らオブジェクト指向プログラミングで用いられている。トレイトはメソッドの集合体であり、クラスの機能を拡張するために使われる[1][2]。 特徴[編集] トレイトは、(1)自身が定義+実装しているメソッドを継承先クラスに注入する役割と、(2)自身が定義だけしているメソッドを継承先クラスに叙述してそこで実装させる役割の双方を持っている。定義=メソッドシグネチャ、実装=メソッドコードである。トレイトの継承は、インクルードと言われることが好まれるがそうでない言語もある。トレイトのインクルードを扱う作法はミックスイン(mixin)と言われることが多いがそうでない言語もある。なお、ミックスインでもトレイトを扱っていない言語もある。 トレイトは2000年代にSmalltalk方言のSqueakで最初に実装が試されてから、各言
<< 2004/07/ 1 1. [OSS]「オープンコミュニティーの確固たる盟主」をアピールするSunのマクニーリーCEO 2 1. [morg]基本設計完 3 1. [家族]希少生物発見 4 1. [教会]松江 5 1. [morg]実装フェーズ 6 1. [OSS]Javaのオープンソース化で苦悩するサン--レッシグらの助言も 2. CNETにトラックバックが届かない 3. Sunと互換性 7 1. [OSS]オープンソースによる互換性の喪失 8 1. [OSS]SunがJavaをオープンソース化した方が良い4つの理由 2. [morg]バックエンドほぼ完了 9 1. 健康診断 2. Estraier 3. [Morg]フロントエンド 4. [OSS]風博士 5. [OSS]フォークと互換性 6. 期日前投票 10 1. [家族]図書館 2. [OSS]風博士(2) 11 1. [教
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "仮想継承" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2023年10月) 仮想継承(かそうけいしょう、英: Virtual inheritance)とは、C++プログラミング言語における継承の一種で、多重継承によって生じる問題(菱形継承問題)を解決するもの。どの上位クラスのメンバーを使うか曖昧さが生じる部分で、明確化する。仮想継承は、部分の合成という意味での継承よりも、継承が上位クラスへの制限を表している場合に使われる。多重継承の基底クラスは、virtual というキーワードで仮想継承であることを指定される。 問題[編集] 次のような
コンピュータプログラミングにおける継承(けいしょう、英: inheritance)とは、任意のオブジェクトの特性を、他のオブジェクトの特性の基礎にするためのメカニズムと定義されている。 基礎にされる継承元は親、その継承先は子と呼ばれて、状態と機能と定数と注釈などが引き継がれるが、コンストラクタとデストラクタは対象外になる。その親と子の関係を、クラスベースOOPはスーパークラスとサブクラスの関係で、プロトタイプベースOOPはプロトタイプとクローンの関係で導入している[1]。 概要[編集] 継承図継承は、他のオブジェクトの特性(データ・手続き・関数・定数・アノテーションなど)を引き継ぐという概念であり、引き継いだオブジェクトがどのような性質を持ち、どのように振る舞うのかは全くの任意になる。引き継ぎかたは、リクエストされた特性をそのオブジェクトが持たない場合は、自動的に上位オブジェクトの方でサー
菱形継承の概念図 菱形継承問題(ひしがたけいしょうもんだい、英: diamond problem)は、多重継承を伴うオブジェクト指向プログラミング言語において、クラス A を2つのクラス B と C が継承し、B と C の両方をクラス D が継承する際に発生するあいまいさを指す用語である。たとえば、クラス D にあるメソッドが A で定義された(かつ D においてオーバーライドされていない)メソッドを呼び出すとしたとき、B と C がそのメソッドを異なった形でオーバーライドしていたら、D は B と C のどちらのメソッドを継承するのか、という問題がある[1]。 例えば、クラス Button は クラス Rectangle(見た目のため)と Mouse(マウスイベントのため)を継承し、Rectangle も Mouse も Object クラスを継承しているとする。ここで Button
Rubyの例外について少し調べたので、まとめてみる。 多くのモダンな言語同様にRubyでは例外処理機構が組み込まれている。 ファイルを開こうと思ったらファイルが存在しなかった ネットワーク先のサーバが反応しなくてタイムアウトした 定義されていない(存在しない)メソッドを呼んだ 0で割り算をしてしまった など想定外の問題に遭遇したときに、その問題を無視せずプログラマが何らかの対応処理をするための枠組みを提供する。 C言語など古い言語では、関数からの戻り値でエラーコードを返し、それによって呼び出し側がエラー処理をその場で記述する。例えば、fopen(3)が失敗すると戻り値としてNULLが戻ってきてグローバル変数のerrnoに失敗の理由を示すエラーコードが設定される。 #include <stdio.h> #include <string.h> #include <errno.h> int ma
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く