標題:
物件導向-封裝
[打印本頁]
作者:
周政輝
時間:
2018-3-17 10:13
標題:
物件導向-封裝
物件導向的三大特型:封裝、繼承、多型。
不過或許我們應該先來講類別和物件的關係。
在物件導向的世界裡,很多東西都是由一個一個物件構成的。舉凡一些感覺很「具體」的東西都可以是物件,例如房子、Xperia Z5、杯子、橡皮擦、哈士奇、Noob……等等,而類別通常是一些比較籠統的東西,例如車、人、飛機之類的。
雖然也沒有規定那些東西一定是物件或類別,不過通常我們會在類別裡定義它的特性,並透過這個類別來建立一個物件。
類別
類別比較算是一個範本,裡面定義好該有的屬性和方法,其中方法又大概可以分為一般的方法、類別方法和建構子。例如我們可以定義一個學生類別,裏面包含了name、score屬性,以及getName()方法、setScore()方法。
物件
物件則是實體的東西,由定義好的類別來建立一個物件。例如 Peter 是一個學生、Amy 是一個學生。
那麼 Peter 就會擁有 Student 類別的屬性和方法,所以 Peter 會有 name、score 屬性、getName()、setScore() 方法,Amy 也會有自己的 name、score 屬性、getName()、setScore()方法。
class Student{
public String name;
public int score;
Student(String n, int s){
name = n;
score = s;
}
public void getName(){
return name;
}
public void setScore(int s){
score = s;
}
public static void helloWorld(){
System.out.println("Hello, World!");
}
}
public class class_test{
public static void main(String[] agrs){
Student Peter = new Student("Peter", 88);
Student Amy = new Student("Amy", 85);
Student.hellowWorld();
}
}
複製代碼
作者:
張健勳
時間:
2018-3-17 10:42
package bbs.istak.org.tw;
public class Main {
public static void main(String[] args) {
// TODO 自動產生的方法 Stub
Stu st = new Stu("Creeper",59);
st.getStu();
}
}
複製代碼
package bbs.istak.org.tw;
public class Stu {
public String n;
public int s;
public Stu(String n,int s)
{
this.n = n;
this.s = s;
}
public void getStu(){
System.out.println("名字: "+this.n+", 分數: "+this.s);
}
}
複製代碼
作者:
蔡庭豪
時間:
2018-3-17 10:47
本帖最後由 蔡庭豪 於 2018-3-17 11:18 編輯
package bbs.istak.org.tw;
public class Test {
public int score;
public String name;
public Test(int score , String name){
this.score = score;
this.name = name;
}
public void getifm(){
System.out.println("Hello! my name is "+this.name+",and I got "+this.score+" in this test.");
}
}
複製代碼
package bbs.istak.org.tw;
public class Main {
public static void main(String[] args) {
// TODO 自動產生的方法 Stub
Test tt = new Test(95,"Frank");
tt.getifm();
}
}
複製代碼
作者:
林侑成
時間:
2018-3-17 10:47
public class Student {
public String name;
public int score;
Student(String n, int s)
{
name=n;
score=s;
}
public String getName()
{
return name;
}
public void setScore(int s)
{
score=s;
}
public static void helloWorld()
{
System.out.println("Hello World!!!");
}
}package Asdf;
public class test {
public static void main(String[] args)
{
Student Sam = new Student("Sam", 59);
Student Ray = new Student("Ray", 95);
Student.helloWorld();
}
}
複製代碼
作者:
蔡季樺
時間:
2018-3-17 10:47
package bbs.istak.org.tw;
public class Main {
public static void main(String[] args) {
// TODO 自動產生的方法 Stub
Student stu = new Student("plan",100000);
stu.getstudent();
}
}
複製代碼
package bbs.istak.org.tw;
public class Student {
public String name;
public int score;
public Student(String name,int score)
{
this.name = name;
this.score = score;
}
public void getstudent()
{
System.out.println("I'm student "+this.name+".My score is"+this.score);
}
}
複製代碼
作者:
黃茂勛
時間:
2018-3-17 17:37
class Student{
public String name;
public int score;
Student(String name, int score)//建構子
{
this.name=name;
this.score=score;
}
public String getName()
{
return name;
}
public void setScore(int score)
{
this.score=score;
}
public static void halloWorld()
{
System.out.println("Hallo World!");
}
}
public class Main {
public static void main(String[] args) {
Student William = new Student("威廉",87);
Student Mary = new Student("瑪莉",69);
Student.halloWorld();
}
}
複製代碼
作者:
陳泓瑜
時間:
2018-3-17 18:50
public class people_HP{
public static void main(String[] args){
People Red = new People("Red", 88);
People Chuck = new People("Chuck", 85);
People.helloWorld();
}
}
複製代碼
class People{
public String name;
public int score;
People(String n, int s){
name = n;
score = s;
}
public String getName(){
return name;
}
public void set(int s){
score = s;
}
public static void helloWorld(){
System.out.println("Hello, World!");
}
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2