תרגול מדעי המחשב

ריבוע שיורש ממלבן

קל Java

המשימה

ריבוע הוא מלבן שהאורך והרוחב שלו שווים. אפשר לנצל את זה כדי לא לכתוב
את חישוב השטח פעמיים.

נתונה המחלקה Rectangle עם אורך, רוחב ופעולת area.

בנה מחלקה Square שיורשת ממנה:
• הבנאי מקבל **מספר אחד** — אורך הצלע.
• הוא מעביר אותו לבנאי של האב פעמיים, כאורך וכרוחב.
• זהו. את area אין צורך לכתוב בכלל — היא נורשת ועובדת.

בנוסף, דרוס את describe כך שיחזיר  Square 4  עבור ריבוע שצלעו 4.

דוגמאות:
  Rectangle של 3 על 5  →  area מחזיר 15,  describe מחזיר  Rectangle 3x5
  Square של 4          →  area מחזיר 16,  describe מחזיר  Square 4

הנחיות:
• הבנאי של Square קצר במיוחד — שורה אחת. אם כתבת בו יותר מזה, כנראה
  שכפלת משהו שהאב כבר עושה.
• אל תכתוב area מחדש. אם כתבת, מחק — זו בדיוק הנקודה של התרגיל.
• getSide אינו קיים באב. חשוב איך Square מגיע לערך הצלע כדי להחזיר
  אותו ב-describe, כשהתכונות של האב פרטיות.

קוד הפתיחה

class Rectangle {
    private int width;
    private int height;

    public Rectangle(int width, int height) {
        this.width  = width;
        this.height = height;
    }

    public int getWidth()  { return this.width; }
    public int getHeight() { return this.height; }

    public int area() {
        return this.width * this.height;
    }

    public String describe() {
        return "Rectangle " + this.width + "x" + this.height;
    }
}

class Square extends Rectangle {

    public Square(int side) {
        // העבר את הצלע פעמיים לבנאי של האב, ומחק את השורה הזו
        super(0, 0);
    }

    @Override
    public String describe() {
        // החזר את המילה Square, רווח, ואז הצלע
        return "";
    }
}

public class Main {
    public static void main(String[] args) {
        Rectangle r = new Rectangle(3, 5);
        System.out.println(r.area());        // 15
        System.out.println(r.describe());    // Rectangle 3x5

        Square s = new Square(4);
        System.out.println(s.area());        // 16
        System.out.println(s.describe());    // Square 4

        Square one = new Square(1);
        System.out.println(one.area());      // 1
    }
}

כדי לכתוב, להריץ ולקבל משוב — התחבר עם חשבון Google. לוקח שנייה.

התרגיל הבא הכניסה להורשה: מחלקת בסיס ושני בנים
המשוב נוצר על ידי AI ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון — כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות בדיקה חיצוני.