class vs Object vs Instance
class: هو التصنيف, مثال: Human
object:هو نسخة من التصنيف, مثال: h1
instance:هو نسخة حية من التصنيف, يعني يتم اعطائها قيم, مثال: h1.name="adnan"
مثال على class وتوابع ضمنه وانشاء object منه وانشاء instance منه:
نفس المثال السابق بعد اضافة توابع set and get من اجل ال encapsulation التغليف, وايضا مع اضافة توابع constructors, وايضا اضافة تابع tostring
الباني constructor هو حالة خاصة من التوابع, ليس له مخرجات return value, واسمه نفس اسمه اسم التصنيفclass, ويمكن عمل عدد لانهائي من توابع البناء للتصنيف الواحد, والاختلاف بينها يكون بعدد ونوع بيانات المدخلاتparameters
مثال برنامج بسيط بالجافا java يحوي كلاس واحد للموظف, ويحوي خصائص الموظف و get and set وايضا constructors للكلاس
الباني constructor هو حالة خاصة من التوابع, ليس له مخرجات return value, واسمه نفس اسمه اسم التصنيفclass, ويمكن عمل عدد لانهائي من توابع البناء للتصنيف الواحد, والاختلاف بينها يكون بعدد ونوع بيانات المدخلاتparameters
مثال على الوراثة في جافا:
مثال على الوراثة المتعددة الاشكال polimorphism:
import java.util.Scanner;
class Creature{
private String eyeColor;
private String skinColor;
private int height;
private int weight;
private boolean gender;
public Creature()
{
eyeColor="";
skinColor="";
height=0;
weight=0;
gender=true;
}
public Creature(String eyeColor, String skinColor, int height, int weight, String gender)
{
this.eyeColor=eyeColor;
this.skinColor=skinColor;
this.height=height;
this.weight=weight;
setGender(gender);
}
public void setGender(String gender)
{
if(gender=="male")
this.gender=true;
else if(gender=="female")
this.gender=false;
else System.out.println("error entering gender! it should be either male or female.");
}
public String getGender()
{
if(gender==true)
return "male";
else return "female";
}
public void setEyeColor(String eyeColor)
{
this.eyeColor=eyeColor;
}
public String getEyeColor()
{
return eyeColor;
}
public void setSkinColor(String skinColor)
{
this.skinColor=skinColor;
}
public String getSkinColor()
{
return skinColor;
}
public void setHeight(int height)
{
this.height=height;
}
public int getHeight()
{
return height;
}
public void setWeight(int weight)
{
this.weight=weight;
}
public int getWeight()
{
return weight;
}
public void walk()
{
System.out.println("walking...");
}
public void breath()
{
System.out.println(" is breathing...");
}
public String toString()
{
return " Eye color: "+eyeColor+", Skin color: "+skinColor+", Height: "+height+", Weight: "+weight+", gender: "+getGender();
}
}
class Human extends Creature
{
private String name;
public Human()
{
super("","",0,0,"male");
name="";
}
public Human(String name, String eyeColor, String skinColor, int height, int weight, String gender)
{
super(eyeColor,skinColor,height,weight,gender);
this.name=name;
}
public void setName(String name)
{
this.name=name;
}
public String getName()
{
return name;
}
public String toString()
{
return "Human:-----name: "+name+", "+super.toString();
}
}
class Animal extends Creature
{
private int price;
public Animal()
{
super("","",0,0,"male");
price=0;
}
public Animal(int price,String eyeColor, String skinColor, int height, int weight, String gender)
{
super(eyeColor,skinColor,height,weight,gender);
this.price=price;
}
public void setPrice(int price)
{
this.price=price;
}
public int getPrice()
{
return price;
}
public String toString()
{
return "Animal:-----price: "+price+", "+super.toString();
}
}
public class Main {
public static void main(String[] args) {
Human obj;
obj=new Human("adnan","brown","white",185,92,"male");
obj.breath();
System.out.println(obj.toString());
Human obj2;
obj2=new Human();
obj2.setName("reem");
obj2.setGender("female");
obj2.setEyeColor("green");
obj2.setSkinColor("white");
obj2.setHeight(160);
obj2.setWeight(55);
obj2.breath();
System.out.println();
System.out.println(obj2.getName());
System.out.println(obj2.getGender());
System.out.println(obj2.getEyeColor());
System.out.println(obj2.getSkinColor());
System.out.println(obj2.getHeight());
System.out.println(obj2.getWeight());
Creature c1=new Human();
Creature creaturesArray[]=new Creature[5];
creaturesArray[0]=new Human();
creaturesArray[1]=new Animal();
creaturesArray[2]=new Human("adnan","brown","white",185,92,"male");
creaturesArray[3]=new Animal(100,"black","white",50,10,"male");
creaturesArray[4]=new Human();
for(int i=0;i