نمونه کلاسی به اسم Person که از استثناها پشتیبانی میکند.
کلاس Person ویژگی های زیر را دارد:
ا- اسم
۲- جنسیت
۳- سن
در این کلاس نمونه، در صورتی که مقادیر غیر مجاز به کلاس داده شود، استثنای لازم تولید میشود تا در کلاس مشتری(دمو) بتوان استثنا را مدیریت کرد.
//Person Class V2(Supports Exception)
//Java Programming
//By: Sina Moradi
//Edited by Marjan
//Website: Samiantec.ir
class Person {
public enum Gender {
Male, Female, Unknown;
}
private String name;
private Gender gender;
private int age;
public Person(String name, Gender gender, int age) throws Exception {
setName(name);
setGender(gender);
setAge(age);
}
public Person() {
name="NewPerson";
gender=Gender.Male;
age=19;
}
public Person(Person other) throws Exception {
if (other == null)
throw new Exception("Object was null.");
setName(other.name);
setGender(other.gender);
setAge(other.age);
}
public boolean equals(Object other) {
if (other == null)
return false;
if (getClass() != other.getClass())
return false;
Person otherPerson=(Person)other;
if (name == otherPerson.name && gender == otherPerson.gender && age == otherPerson.age) {
return true;
}
return false;
}
public String toString() {
return "{Name=" + name + " ; Gender=" + gender.toString() + " ; Age=" + age + "}";
}
public String getName() {
return name;
}
public void setName(String name) throws Exception {
if (name.trim().length() <= 0)
throw new Exception("The name is invalid.");
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) throws Exception {
if (age <= 0)
throw new Exception("Age was negative.");
this.age = age;
}
public Gender getGender() {
return gender;
}
public void setGender(Gender gender) {
this.gender = gender;
}
}
//Demo Class(Supports Exception)
//Java Programming
//By: Sina Moradi
//Edited by Marjan
//Website: Samiantec.ir
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Person defaultPerson=new Person();
System.out.println(defaultPerson);
Person mt;
try {
mt=new Person("MT",Person.Gender.Female,19);
System.out.println(mt);
}
catch (Exception e) {
System.out.println(e.getMessage());
}
}
}