0% found this document useful (0 votes)
4 views

Midterm 2-Solution

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Midterm 2-Solution

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Test

Name: Section: ID:

Exercise 1: (2 marks)

For each of the following question choose the right alternative:


1- What concepts come under Polymorphism in java?

(Method overloading- Constructor overloading - Method overriding - All the previous)

2- If class B is subclassed from class A then which is the correct syntax


(class B:A{} - class B extends A{} - class B extends class A{}- class B implements A{})
3- It can be compiled-time (overload) as well as run-time (overriding).

(Polymorphism – Encapsulation – Inheritance)

4- A new class is created that has the features from the already existing class.

(Polymorphism – Encapsulation – Inheritance)

Exercise 2 - Shape abstract class (8 marks)

Based on inheritance and override methods concept, write a Java code that represents the
following class:

A- Create an abstract class Shape which contains:


1- Default Constructor
2- Abstract method getArea() .
3- Abstract method getPerimeter() .
4- toString() method which returns “ The shape is”

B- Create a class Rectangle which inherits from Shape class. It contains:


1- Two attributes length(double) and Width(double)
2- Default Constructor
3- Parameterized constructor which initialize the value.
4- Method getArea() returning the area of a rectangle (area = Length * width).
5- Method getPerimeter() returning the perimeter of a rectangle (Perimeter =
2*(Length + width))
6- toString() method which return the name of the shape as in the super class and the
area and the perimeter of the Rectangle.

C- Create a class Triangle which inherits from Shape class. It contains:


1- Two attributes side(double) and height(double)
2- Default Constructor
3- Parameterized constructor which initialize the value.
4- Method getArea() returning the area of a triangle(area =0.5 * side * height).
5- Method getPerimeter() returning the Perimeter of a triangle(Perimeter = 3* side).
6- toString() method which return the name of the shape as in the super class and the
area and the perimeter of the triangle.

D- Create a TestShape class that has the main method:


1- Create an rectangle object belongs to the shape class Where the rectangle has ( length
= 6.5 and width =5.2).
2- Create an equilateral Triangle object belongs to the shape class where the triangle has
side length= 3 cm and height = 2.5
3- Print their information with their area and perimeter after applying toString method.

Solution:

package Ex2;
public abstract class Shape {
public Shape(){
}
public abstract double getArea();
public abstract double getPerimeter();
public String toString(){

return " The shape is ";

}
}
package Ex2;
public class Rectangle extends Shape {
double length, width;
public Rectangle(){
}
public Rectangle(double len, double br){
length = len;
width = br;
}
public double getArea(){
return length*width;
}
public double getperimeter(){
return 2*(length+width);
}
public String toString(){
return super.toString()+" Rectangle and its length = "+length+" and its width = "+width+” its
area = “+getArea()+” and its pemieter = “+getperimeter();
}
}
package Ex2;
public class Triangle extends Shape {
double side, height;
public Triangle(){
}
public Triangle(double b, double h){
side = b;
height = h;
}
public double getArea(){
return 0.5*side*height;
}
public double getpremieter(){
return 3*side;
}
public String toString(){
return super.toString()+" Triangle and its side = "+side+" and its height = "+height+”
its area = “+getArea()+” and its pemieter = “ +getperimeter();
}
}
package Ex2;
public class TestShape {
public static void main(String[] args) {
//1-Create the two objects
Shape R = new Rectangle (6.5, 5.2);
Shape T = new Triangle (3, 2.5);
//Print the information of each object along with their area and Premiter
System.out.println("the first shape is "+R.toString);
System.out.println("the second shape is "+T.toString);
}
}

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy