インターフェース
-
通常のクラス:具体的な実装のみ
-
抽象クラス:特定の実装と仕様(抽象メソッド)の両方が利用可能です!
-
インターフェース:規範のみ!自分でメソッドを書くことはできません〜専門的な制約!制約と実装の分離:インターフェース指向プログラミング
-
インターフェースは仕様であり、一連のルールを定義します。これは、現実の世界で「もしあなたが...できるはずです...」という考えを具体化したものです。あなたが天使なら、あなたは飛ぶことができなければなりません。あなたが車なら、あなたは走ることができなければなりません。あなたが良い人なら、あなたは悪い人を殺さなければなりません;あなたが悪い人なら、あなたは良い人をいじめなければなりません。インターフェースの本質は、人間の法則と同じように、契約です。それが定式化された後、誰もがそれを順守します。
-
OOの本質は、オブジェクトの抽象化と、これを最もよく反映するインターフェースです。デザインパターンについて説明する理由は、抽象化機能を備えた言語(c ++、java、c#など)のみを対象としています。これは、調査対象のデザインパターンが実際には合理的に抽象化する方法であるためです。
クラスを宣言するためのキーワードはclassであり、インターフェースを宣言するためのキーワードはinterfaceです。
package com.oop.Demo03;
//interfaca 接口
interface UserService
{
//接口中所有定义都是抽象的 默认隐藏了public abstract
public abstract void method();
void name (String name);
void add (String buffer);
void delete (String del);
void update (String upd);
void query (String que);
//在接口中定义属性都默认常量 public static final
public static final int year = 3;
int age = 10;
}
/*作用
1.约束
2.定义一些方法,让不同的人实现
3.都是 public abstract
4.都是 public static final的
5.接口不能实例化,因为根本没有构造器属于抽象的
6.interface可以多继承 必须要重写接口中的方法
*/
package com.oop.Demo03;
//类可以实现接口 implements a implements b,必须要重写方法
//实现了接口就要重写完接口中所有的类
//利用接口实现多线程
//,TextService
public class UserServiveImf implements UserService,TextService
{
@Override
public void method()
{
//实现这个方法
}
@Override
public void add(String buffer)
{
// 实现这个方法
}
@Override
public void delete(String del)
{
}
@Override
public void update(String upd)
{
}
@Override
public void query(String que)
{
}
@Override
public void name(String name)
{
}
@Override
public void text()
{
}
}
package com.oop.Demo03;
public interface TextService
{
void text();
}