Lab 1 Inheritance Instructions Code the classes in your IDE

Lab 1 Inheritance Instructions: Code the classes in your IDE and submit the va files through the Lab 1 submission link. l. Consider using the following card class. public class Card private String name public Card name public Card (String n) name ni public String getName return name; public boolean isExpired return false; public String format return \"Card holder: name

Solution

import java.util.*;

class Card             //base class Card
{
   private String name;
   public Card()     //default constructor
   {
       name = \"\";
   }
   public Card(String n) //parameterized constructor
   {
       name = n;
   }
   public String getName()
   {
       return name;
   }
   public boolean isExpired()
   {
       return false;
   }
   public String format()
   {
       return \"Card holder: \" + name;
   }
   public String toString()   //overriding toString method
   {
       return \"Card[\"+name+\"]\";
   }
   public boolean equals(Card c)   //overriding equals method
   {
        if (c == null) return false;
           
            return ((this.name).equals(c.name));
                  
      }
}

class IDCard extends Card   //derived class
{
  
   private int IdNumber;
   public IDCard(String n,int id)
   {
       super(n);          //calling base class constructor
       IdNumber = id;
   }
   public String format()
   {
       return super.format() +\"ID : \" + IdNumber;
   }
   public String toString()
   {
       super.toString();   //calling base class toString() method
       return \"IDCard[\"+IdNumber+\"]\";
   }
   public boolean equals(IDCard ic)
   {
        if (ic == null) return false;
           
            return (this.IdNumber==ic.IdNumber);
                  
      }
  
}
class CallingCard extends Card
{
  
   private int cardNumber;
   private int PIN;
   public CallingCard(String n,int cNumber,int pin)
   {
       super(n);
       cardNumber = cNumber;
       PIN = pin;
   }
   public String format()
   {
       return super.format() +\" Card Number : \" + cardNumber + \" PIN : \"+PIN;
   }
   public String toString()
   {
       super.toString();
       return \"CallingCard[\"+cardNumber+\"][\"+PIN+\"]\";
   }
   public boolean equals(CallingCard cc)
   {
        if (cc == null) return false;
           
            return ((this.cardNumber==cc.cardNumber)&&(this.PIN == cc.PIN));
                  
      }
}
class DriverLicense extends Card
{
  
   private int expirationYear;
   public DriverLicense(String n,int eYear)
   {
       super(n);
       expirationYear = eYear;
   }
   public String format()
   {
       return super.format() +\" Expiration Year : \" + expirationYear;
   }
   public boolean isExpired(int currentYear)
   {
       if(expirationYear<currentYear)
       return true;
       else
       return false;
   }
   public String toString()
   {
       super.toString();
       return \"DriverLicense[\"+expirationYear+\"]\";
   }
   public boolean equals(DriverLicense dl)
   {
        if (dl == null) return false;
           
            return (this.expirationYear==dl.expirationYear);
                  
      }
  
}
class TestCards
{
   public static void main (String[] args)
   {
   CallingCard cc1 = new CallingCard(\"callingcard1\",12345,5678);
   CallingCard cc2 = new CallingCard(\"callingcard1\",12345,5678);
  
   System.out.println(cc1.toString());
   System.out.println(cc2.toString());
  
   if(cc1.equals(cc2))
   System.out.println(\"Both cards are same\");
   else
   System.out.println(\"cards are not same\");
  
   }
}

output:

 Lab 1 Inheritance Instructions: Code the classes in your IDE and submit the va files through the Lab 1 submission link. l. Consider using the following card cl
 Lab 1 Inheritance Instructions: Code the classes in your IDE and submit the va files through the Lab 1 submission link. l. Consider using the following card cl
 Lab 1 Inheritance Instructions: Code the classes in your IDE and submit the va files through the Lab 1 submission link. l. Consider using the following card cl

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site