Csit115 hw5 solution | Computer Science homework help

1.       CH 9, self-check: Problem 1, pg. 634

What is code reuse?  How does inheritance help achieve code reuse?

2.       CH 9, self-check: problem 3, pg. 634

Which of the following is the correct syntax to indicate that class A is a subclass of B?

a. public class B extends A {

b. public class A : super B {

c. public A(super B) {

d. public class A extends B {

e. public A implements B {

3.       CH 9, self-check: problem 4, pg. 635

Consider the following classes:

public class Vehicle {…}

public class Car extends Vehicle {…}

public class SUV extends Car {…}

Which of the following are legal statements (assuming these classes all have constructors with no arguments)?

a. Vehicle v = new Car();

b. Vehicle v = new SUV();

c. Car c = new SUV();

d. SUV s = new SUV();

e. SUV s = new Car();

f. Car c = new Vehicle();

4.       CH 9, self-check: problem 5, pg. 635

Explain the difference between the this keyword and the super keyword.  When should each be used?

5.       CH 9, self-check: problem 6, pg. 635

For the next three problems consider the following class:

// Represents a university student.

public class Student {

     private String name;

     private int age;

 

     public Student(String name, int age) {

          this.name = name;

          this.age = age;

     }

 

     public void setAge(int age) {

          this.age = age;

     }

}

 

Also consider the following partial implementation of a subclass of Student to represent undergraduate students at a university:

public class UndergraduateStudent extends Student {

     private int year;

     . . .

}

 

Can the code in the UndergraduateStudent class access the name and age fields it inherits from Student?  Can it call the setAge method?

6.       CH 9, self-check: problem 11, pg. 637

Assume that the following classes have been defined (from section 9.3, pp. 600-601):

public class A {

     public void method1() {

          System.out.println(“A 1”);

`    }

    

     public void method2() {

          System.out.println(“A 2”);

     }

 

     public String toString() {

          return “A”;

     }

}

 

public class B extends A {

     public void method2() {

          System.out.println(“B 2”);

     }

}

 

public class C extends A {

     public void method1() {

          System.out.println(“C 1”);

     }

 

     public String toString() {

          return “C”;

     }

}

 

public class D extends C {

     public void method2() {

          System.out.println(“D 2”);

     }

}

 

What is the output produced by the following code fragment?

public static void main(String[] args) {

     A[] elements = {new B(), new D(), new A(), new C()};

     for (int i = 0; i < elements.length; i++) {

          elements[i].method2();

          System.out.println(elements[i]);

          elements[i].method1();

          System.out.println();

     }

}

 

7.       CH 9, self-check: problem 12, pp. 637-638

Assume that the following classes have been defined:

public class Flute extends Blue {

     public void method2() {

          System.out.println(“flute 2”);

     }

 

     public String toString() {

          return “flute”;

     }

}

 

public class Blue extends Moo {

     public void method1() {

          System.out.println(“blue 1”);

`    }

}

 

public class Shoe extends Flute {

     public void method1() {

          System.out.println(“shoe 1”);

`    }

}

 

public class Moo {

     public void method1() {

          System.out.println(“moo 1”);

`    }

    

     public void method2() {

          System.out.println(“moo 2”);

     }

 

     public String toString() {

          return “moo”;

     }

}

 

What is the output produced by the following code fragment?

public static void main(String[] args) {

     Moo[] elements = {new Shoe(), new Flute(), new Moo(), new Blue()};

     for (int i = 0; i < elements.length; i++) {

          System.out.println(elements[i]);

          elements[i].method1();

          elements[i].method2();

          System.out.println();

     }

}

 

8.       CH 9, exercises: problem 1, pg. 642.

Write the class Marketer to accompany the other law firm classes described in this chapter.  Marketers make $50,000 ($10,000 more than general employees) and have an additional method called advertise that prints “Act now, while supplies last!”  Make sure to interact with the superclass as appropriate.  Note that the textbook website has a Marketer.java, but it’s not quite right to fit with Employee.java in the text itself, so fix it up to do so.

9.       CH 9, exercises: Problem 5, pg. 643.

For the next two problems, consider the task of representing tickets to campus events.  Each ticket has a unique number and a price.  There are three types of tickets: walk-up tickets, advance tickets, and student advance tickets.  See the class diagram below:

http://www.cs.umb.edu/%7Etolkien/csit115/hw5_files/image001.jpg

·         Walk-up tickets are purchased the day of the event and cost $50.

·         Advance tickets purchased 10 or more days before the event cost $30, and advance tickets purchased fewer than 10 days before the event cost $40.

·         Student advance tickets are sold at half the price of normal advance tickets: When they are purchased 10 or more days early they cost $15, and when they are purchased fewer than 10 days early they cost $20.

Implement a class called Ticket that will serve as the superclass for all three types of tickets.  Define all common operations in this class, and specify all differing operations in such a way that every subclass must implement them.  No actual objects of type Ticket will be created: Each actual ticket will be an object of a subclass type.  Define the following operations:

·         The ability to construct a ticket by number.

·         The ability to ask for a ticket’s price.

·         The ability to println a ticket object as a String.  An example String would be “Number: 17, Price: 50.0”.

 

Note that Ticket has one field, ticketNumber. The price of a ticket is determined by the subclass, but all Tickets (Tickets and its subclasses) should have a getPrice() method. That means class Ticket itself needs a getPrice method, but each subclass will override it. You can code getPrice() in Ticket to return -1, or use the “abstract” keyword as shown on pg. 630 to avoid having to code it at all. Note the statement that no objects of class Ticket will be created, so the -1 return from getPrice() will never happen. We’ll get started on this in class.

10.   CH 9, exercises: problem 6, pg. 624.

Implement a class called walkupTicket to represent a walk-up event ticket.  walk-up tickets are also constructed by number, and they have a price of $50.

 

 

 

 

 

Calculate Your Essay Price
(550 words)

Approximate price: $22

Calculate the price of your order

550 words
We'll send you the first draft for approval by September 11, 2018 at 10:52 AM
Total price:
$26
The price is based on these factors:
Academic level
Number of pages
Urgency
Basic features
  • Free title page and bibliography
  • Unlimited revisions
  • Plagiarism-free guarantee
  • Money-back guarantee
  • 24/7 support
On-demand options
  • Writer’s samples
  • Part-by-part delivery
  • Overnight delivery
  • Copies of used sources
  • Expert Proofreading
Paper format
  • 275 words per page
  • 12 pt Arial/Times New Roman
  • Double line spacing
  • Any citation style (APA, MLA, Chicago/Turabian, Harvard)

Our guarantees

Delivering a high-quality product at a reasonable price is not enough anymore.
That’s why we have developed 5 beneficial guarantees that will make your experience with our service enjoyable, easy, and safe.

Money-back guarantee

You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.

Read more

Zero-plagiarism guarantee

Each paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.

Read more

Free-revision policy

Thanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.

Read more

Privacy policy

Your email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.

Read more

Fair-cooperation guarantee

By sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.

Read more