私は最近インタビューに参加しましたが、そのインタビュー中に、プログラミングの概念が思ったほど具体的ではないことに気づきました。
以前の仕事でポリモーフィズムを使用した時期について説明してください。
少し考えた後、私はすべての新しいレコードが拡張されたレコードクラスがあると言いました。したがって、AddRecord、RemoveRecord、またはその他のタイプのレコードがある場合、それらはRecordを拡張します。レコードインターフェイスは次のようになりました。
public abstract Record{
public writeLine(String line);
public getColumn(int column);
public setHeader(String header);
...
}
public AddRecord extends Record{
public writeLine(String line){
// do something
}
// etc...
}
public MakeRecord{
Record r;
public setRecord(Object s){
if(s instanceof Record){
r = s;
}
}
public void printNewRecord(){
while(thingsToWrite){
r.writeLine(something);
}
}
}
私はそれをショートハンドしただけなので、それを選んではいけません。
レコードの種類に関係なく、レコードの種類がわからなくても書き込みが可能であるため、これはポリモーフィズムを使用していることを伝えました。これは、ゼロで埋められるかスペースで埋められるなど、正しく埋める必要のあるファイルを書き込んでいるため、貴重でした。
これがポリモーフィズムでない場合は、例をポリモーフィズムを使用するものに変更する方法を教えてください。