我读了很多关于“接口”和“抽象类”的帖子
基本上,当我们谈论对象的特性时,我们使用“抽象类”。
当我们谈论对象能够做什么时,我们使用“接口”。
但这仍然令人困惑,所以我自己做一个例子来练习。
所以现在我在想一个对象'货物;
public abstract class cargo {
protected int id;
public abstract int getWidth(int width);
public abstract int setWidth(int width);
public abstract int setHeight(int h);
public abstract int getHeight(int h);
public abstract int setDepth(int d);
public abstract int getDepth(int d);
public abstract int volume(int w,int h,int d);
public int getId(){
return this.id;
}
public abstract int setId();
public abstract void setBrand();
public abstract void getBrand( );
.....so on , still have a lot of characteristic of a cargo
}
//in the other class
public class usaCargo extends cargo{
....
private
}
所以这里有几个关于我的设计的问题。
1.那么在真实的编程项目世界中,我们真的是像上面那样做吗?对我来说,我认为这是好的设计,我们符合货物的基本特征。
如果我们设置“private id”,那么我们实际上不能在任何子类中使用“id”这个变量,因为它是私有的,这是否意味着我们在抽象类中定义的每个变量都必须是公共/受保护的?
有人可以举一些合适的例子让我的货物可以实现一些接口吗?
public interface registration{ public void lastWarrantyCheck(); }
不过好像不太适合这里...
我们通常不在接口内定义变量,对吗?
我试图在 OOP 上获得更多意义。原谅我长长的问题。