Animal private string name private string gender femalemale

  • Slides: 28
Download presentation

Animal private string name private string gender //female/male public Animal (string n, string g)

Animal private string name private string gender //female/male public Animal (string n, string g) Get/Set methods Bird private double height subclass public Bird(string n, string g, double height) public void fly(double mt) 3 base class Fish subclass private double depth public Fish(string n, string g, double d) public void swim(); Mammal private double milk; public Mammal(string n, string g, double m) public void nurse. From(Mammal m); public void nurse. Someone(Mammal baby); © המרכז להוראת המדעים האוניברסיטה העברית בירושלים subclass

/** this class models an Animal*/ public class Animal { private string gender; //female

/** this class models an Animal*/ public class Animal { private string gender; //female or male private string name; //animal’s name private double energy; //calories public Animal (string n, string g, double e){ this. name = n; this. gender = g; this. energy = e; } public string Get. Gender( ){ return this. gender; } Set/Get methods … } 8 © המרכז להוראת המדעים האוניברסיטה העברית בירושלים

public class Mammal : Animal { private double milk; //amount of milk in liters

public class Mammal : Animal { private double milk; //amount of milk in liters public static const int CAL_IN_MILK = 500; //calories in liter public Mammal(string n, string g, double e, double m ){ //Creates a mammal } public void Add. Milk (double milk){ this. milk += milk: } public double Get. Milk(){ return this. milk: } public void Nurse. From (Mammal m){ //Will be implemented later } public void Nurse. Someone (Mammal baby){ //Will be implemented later } } 9 © המרכז להוראת המדעים האוניברסיטה העברית בירושלים

! נראה פשוט אבל יש כאן בעיה /** *A mammal receives current amount of

! נראה פשוט אבל יש כאן בעיה /** *A mammal receives current amount of milk that a given female * Mammal (mom) has. Updates amount of milk and energy. */ public void Nurse. From (Mammal mom){ if (mom. gender. Equals (“female”)){ this. energy += mom. milk * CAL_IN_MILK; mom. energy -= mom. milk * CAL_IN_MILK; mom. milk = 0; בדקו מהן הרשאות הגישה } של תכונות המחלקה " "בעל חיים } 10 © המרכז להוראת המדעים האוניברסיטה העברית בירושלים

! אותה בעיה כמו קודם /** * This female mammal transfers its current amount

! אותה בעיה כמו קודם /** * This female mammal transfers its current amount of milk to a * given Mammal (baby). Updates amount of milk and energy. */ public void Nurse. Someone (Mammal baby){ if (this. gender. Equals (“female”)){ baby. energy += this. milk * CAL_IN_MILK; this. energy -= this. milk * CAL_IN_MILK; this. milk = 0; } } 11 © המרכז להוראת המדעים האוניברסיטה העברית בירושלים

Animal נשנה את הרשאות הגישה במחלקה /** this class models an Animal*/ public class

Animal נשנה את הרשאות הגישה במחלקה /** this class models an Animal*/ public class Animal { protected string gender; //female/male protected string name; //animal’s name protected double energy; //calories Animal (double w, double e, string g){ //No Change } protected – הגדרת איברים כ ! יתרון גדול - חסרון קטן … } 14 © המרכז להוראת המדעים האוניברסיטה העברית בירושלים

? Mammal - אילו איברים יש ל Animal All members of class Mammal 15

? Mammal - אילו איברים יש ל Animal All members of class Mammal 15 string name double energy string gender Get/set methods double milk Double Get. Milk() Void Add. Milk (double milk) void Nurse. From (Mammal mom) void Nurse. Someone (Mammal baby) © המרכז להוראת המדעים האוניברסיטה העברית בירושלים

Object מתוך הממשק של Object() public bool Equals (Object obj) public string To. String

Object מתוך הממשק של Object() public bool Equals (Object obj) public string To. String (Object obj) 27 © המרכז להוראת המדעים האוניברסיטה העברית בירושלים