diff --git a/.idea/misc.xml b/.idea/misc.xml index 07115cd..4444b22 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/Human.java b/Human.java new file mode 100644 index 0000000..e790fbb --- /dev/null +++ b/Human.java @@ -0,0 +1,24 @@ +public class Human { + + public final static void staticPrint() { + System.out.println("This is a static method in Human class"); + } + + String fullName; + + public String getFullName() { + return fullName; + } + + public void setFullName(String fullName) { + this.fullName = fullName; + } + + /* public void setFullName(String fullName) { + System.out.print(fullName); + }*/ + + public void sayMyName() { + System.out.println(" human " /* or fullName */ ); + } + } \ No newline at end of file diff --git a/Main.java b/Main.java new file mode 100644 index 0000000..90705b4 --- /dev/null +++ b/Main.java @@ -0,0 +1,28 @@ +public class Main { + public static void main(String[]args) { + + Human student = new Student(); + Human professor = new Professor(); + //بله بودند و خروجی true برای هردو چاپ شد + + System.out.println(student instanceof Human); + System.out.println(professor instanceof Human); + + Human human = new Student(); + human.sayMyName(); + // خروجی چاپ شده : null + + Human human1 = new Professor(); + human1.sayMyName(); + // خروجی چاپ شده:null + //null + +/* + دو سوال بالا نشان داد که تا وقتی که ورودی به متد sayName + داده نشود خروجی را بصورت پیش فرض null چاپ می کند و همچنین دو کلاس Student , Professor بصورت مجزا از کلاس Human + ارث بری می کنند + */ + + } + +} diff --git a/Professor.java b/Professor.java new file mode 100644 index 0000000..0430aa3 --- /dev/null +++ b/Professor.java @@ -0,0 +1,33 @@ +public class Professor extends Human { + private String professorFaculty;; + private int numberOfCourse; + private String professorSpecialty; + + public String getProfessorFaculty(){ + return professorFaculty; + } + public void setProfessorFaculty(String professorFaculty){ + this.professorFaculty=professorFaculty; + } + + public int getNumberOfCourse(){ + return numberOfCourse; + } + public void setNumberOfCourse(int numberOfCourse){ + this.numberOfCourse=numberOfCourse; + } + + public String getProfessorSpecialty(){ + return professorSpecialty; + } + public void setProfessorSpecialty(String professorSpecialty){ + this.professorSpecialty=professorSpecialty; + } + + + public void sayMyName(){ + System.out.println( getFullName()); + System.out.println( getProfessorFaculty()); + } + +} \ No newline at end of file diff --git a/README.md b/README.md index 25ceecf..65ace31 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ 4. Main - - کلاس های professor و student از کلاس human ارث بری میکنند. + - کلاس های Professor و Student از کلاس Human ارث بری میکنند. سوال 1: در کلاس Human متود ()staticPrint را طوری تغییر دهید که خروجی آن در کلاس هایی که کلاس Human را پیاده سازی می کنند قابل تغییر نباشد. @@ -24,12 +24,12 @@ سوال 6: بعد از کامل کردن کلاس های Student و Professor یک نمونه از هرکدام بسازید و با استفاده از کلمه کلیدی instanceof چک کنید که آیا این دو نمونه واقعا نمونه ای از کلاس Human هستند یا نه. سوال 7: کد مقابل را بنویسید. -#### Human human = new Student(); -خروجی ()human.sayMyName چیست؟ +#### Human Human = new Student(); +خروجی ()Human.sayMyName چیست؟ سوال 8: حالا این کد را بنویسید. -#### Human human = new Professor(); -خروجی ()human.sayMyName چیست؟ +#### Human Human = new Professor(); +خروجی ()Human.sayMyName چیست؟ سوال 9: diff --git a/Student.java b/Student.java new file mode 100644 index 0000000..62e1628 --- /dev/null +++ b/Student.java @@ -0,0 +1,34 @@ +public class Student extends Human { + private int studentNumber; + private String majorName; + private String universityName; + + @Override + public void sayMyName(){ + System.out.println( getFullName()); + + } + + + public int getStudentNumber() { + return studentNumber; + } + public void setStudentNumber(int studentNumber) { + this.studentNumber = studentNumber; + } + + public String getMajorName() { + return majorName; + } + public void setMajorName(String majorName) { + this.majorName = majorName; + } + + + public String getUniversityName() { + return universityName; + } + public void setUniversityName(String universityName) { + this.universityName = universityName; + } +} \ No newline at end of file diff --git a/out/production/AP-1/.gitignore b/out/production/AP-1/.gitignore new file mode 100644 index 0000000..524f096 --- /dev/null +++ b/out/production/AP-1/.gitignore @@ -0,0 +1,24 @@ +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* +replay_pid* diff --git a/out/production/AP-1/.idea/.gitignore b/out/production/AP-1/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/out/production/AP-1/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/out/production/AP-1/.idea/AP-1.iml b/out/production/AP-1/.idea/AP-1.iml new file mode 100644 index 0000000..b107a2d --- /dev/null +++ b/out/production/AP-1/.idea/AP-1.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/out/production/AP-1/.idea/misc.xml b/out/production/AP-1/.idea/misc.xml new file mode 100644 index 0000000..4444b22 --- /dev/null +++ b/out/production/AP-1/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/out/production/AP-1/.idea/modules.xml b/out/production/AP-1/.idea/modules.xml new file mode 100644 index 0000000..76c5b34 --- /dev/null +++ b/out/production/AP-1/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/out/production/AP-1/.idea/uiDesigner.xml b/out/production/AP-1/.idea/uiDesigner.xml new file mode 100644 index 0000000..2b63946 --- /dev/null +++ b/out/production/AP-1/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/out/production/AP-1/.idea/vcs.xml b/out/production/AP-1/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/out/production/AP-1/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/out/production/AP-1/README.md b/out/production/AP-1/README.md new file mode 100644 index 0000000..65ace31 --- /dev/null +++ b/out/production/AP-1/README.md @@ -0,0 +1,36 @@ +ترتیب کلاس ها برای کامل کردن: + +1. Human +2. Student +3. Professor +4. Main + + + - کلاس های Professor و Student از کلاس Human ارث بری میکنند. + + +سوال 1: در کلاس Human متود ()staticPrint را طوری تغییر دهید که خروجی آن در کلاس هایی که کلاس Human را پیاده سازی می کنند قابل تغییر نباشد. + +سوال 2: کلاس Student را طوری تغییر دهید که هنگام صدا زدن متود ()sayMyName بر روی آن، مشخصه fullName آن در خروجی چاپ شود. + +سوال 3: مشخصه های زیر را با توابع Setter و Getter مناسب به کلاس Student اضافه کنید. +#### studentNumber, majorName, universityName + +سوال 4: مشخصه های زیر را با توابع Setter و Getter مناسب به کلاس Professor اضافه کنید. +#### professorFaculty, numberOfCourse, professorSpecialty + +سوال 5: کلاس Professor را طوری تغییر دهید که هنگام صدا زدن متود ()sayMyName بر روی آن، مشخصه fullName و professorFaculty در خروجی چاپ شود. + +سوال 6: بعد از کامل کردن کلاس های Student و Professor یک نمونه از هرکدام بسازید و با استفاده از کلمه کلیدی instanceof چک کنید که آیا این دو نمونه واقعا نمونه ای از کلاس Human هستند یا نه. + +سوال 7: کد مقابل را بنویسید. +#### Human Human = new Student(); +خروجی ()Human.sayMyName چیست؟ + +سوال 8: حالا این کد را بنویسید. +#### Human Human = new Professor(); +خروجی ()Human.sayMyName چیست؟ + + +سوال 9: +از این دو مثال چه نتیجه ای می توان گرفت؟