0

変なタイトルですみません…

オブジェクト指向プログラミングにおける継承とインターフェイスの概念を理解しようとしています。だから私はそれを私がすでに知っているもの、CSS に関連付けようとしています。

CSS では、要素がスタイルを「継承」できる階層でスタイルを設定することを選択できます。

(OOP の継承のようなもの?)

    a   { color:red; text-decoration:underline; }
    p   { background:black; color:white; padding:20px; } 
    img { background:silver; padding:2px;  } 

または、 .class を使用してスタイルを設定します (これはより良い方法です):

    .main-links      { color:red; text-decoration:underline; } 
    .main-paragraphs { background:black; color:white; padding:20px; }
    .main-images     { background:silver; padding:2px;  } 

(OOPのインターフェースのような?)

私の質問は:

これは CSS の同じ概念であり、継承とインターフェイス (OOP の場合) に似ていますか? それとも、完全に間違った考えを持っていますか。

4

2 に答える 2

1

OOPをCSSと比較すると、インターフェイスをスタイルと比較できることがわかりますが、CSSには継承のようなものはありません。

OOPのインターフェースは、クラスを要素に適用するのとほとんど同じように機能します。要素に複数のクラスを追加してさまざまな外観を組み合わせることができるのと同じように、クラスに複数のインターフェイスを追加してさまざまな動作を組み合わせることができます。

CSSに継承がある場合は、次のようになります。

.main-links { color: red; }

.info-links { @inherits: .main-links; font-weight: bold; }

ここでは、1つのルールが別のルールを継承するため、クラスのみinfo-linksを要素に適用して、の実装も取得できますmain-links

(もちろん、これはCSSでは機能しません。ルールには名前ではなくセレクターがあり、セレクターは一意である必要がないため、ルールの識別に使用できないためです。)

于 2013-03-07T08:52:27.523 に答える
1

簡単な答え: あなたは完全に間違った考えを持っています。CSS を使用して OOP 継承/インターフェイスを説明できる方法は絶対にありません。

継承とインターフェイスはプログラミングの概念 (非常に基本的なデザイン パターン) ですが、CSS はプログラミング言語ではありません (完全なチューリングではありません)。

両方の概念をよく理解できる、非常にわかりやすいチュートリアル/記事がオンラインにたくさんあります。それらを読むことをお勧めします。

EDIT : まあ、よく考えてみると、おそらく、おそらく、継承はCSS を使用して説明することができます。CSS でスタイル プロパティがカスケードされるのと同様に、クラス メソッドとプロパティは派生クラスに「カスケード」されます。ただし、CSS を使用してこれらの概念を理解しようとするよりも、入門チュートリアルを読む方がはるかに優れています。

于 2013-03-07T08:28:57.623 に答える