1. 程式人生 > >面向物件 引數傳遞 (方法 -- 構造方法--過載)

面向物件 引數傳遞 (方法 -- 構造方法--過載)

今天學習了面向物件的程式設計思想,首先 要來說一下 類的定義:

   1.若干具有相同屬性和行為的群體或抽象

   2.類是建立物件的模板

   3.類由兩部分組成:屬性和行為

面向物件的程式設計思想: 

 對問題進行分析,定義物件模型(類),然後根據模型創造物件,使用物件解決問題

類的定義:

【修飾符】 class 類名{

//成員變數

【修飾符】 資料型別 變數名

//成員方法

【修飾符】 返回值型別 方法名(引數..){

  //方法體:用於完成某個功能的語句(解決某個問題的語句組)

}

//構造器

【修飾符】 構造器名(引數..){

 //方法體

 }

}

物件的使用:

1.宣告一個類的型別的變數

類名 物件名;

2.建立一個物件

物件名=new 構造器名(引數);

3.給物件的屬性賦值

物件名.屬性=值

成員變數和區域性變數的區別:

1.成員變數定義在類中 而區域性變數定義在方法體中

2.成員變數的作用域在整個類中 而區域性變數的作用域在所定義的方法體中

3.成員變數可以有修飾符 而 區域性變數的修飾符只有final

4.成員變數有預設值 區域性變數沒有預設值

引數定義的語法 : 資料型別  引數名

引數的作用 :將一個數據傳入到方法體裡面使用

引數的作用域:該方法的方法體

過載:同一個類中方法名相同而引數不同的方法:1.引數個數不同 2.引數個數相同 但是至少有一個對應的引數的資料型別不同

構造器的執行過程:

1.根據類 建立一個物件

2.給構造器的引數傳參

3.執行構造器的方法體:屬性初始化

4.返回該物件

以下為測試時用的狗物件:

package _3m1day;


public class Dog {
public Dog(){

}
public String name;
public char sex;
public String color;
public String breed;


public void bark() {
System.out.println("狗叫");
}


public void eatBone() {
System.out.println("吃骨頭");
}


public void wagTail() {
System.out.println("搖尾巴");


}


public static void main(String[] args) {
Dog dog = new Dog();
dog.name = "蘿莉";
dog.sex = '公';
dog.breed = "土狗";
dog.color = "土黃色";
dog.bark();
dog.eatBone();
dog.wagTail();
}
}

以下的類 使用了方法的過載 構造器 和引數的傳參

package _3m1day;


public class SumPar {
private void test1() {
// TODO Auto-generated method stub
          System.out.println("fgjkfdfj");
}
private void test2(int i) {
// TODO Auto-generated method stub
       System.out.println(i);
}
private void test3(int i,String s) {
// TODO Auto-generated method stub
       System.out.println(i+s);
}

private void test4(String[] ss) {
// TODO Auto-generated method stub
for (int i = 0; i < ss.length; i++) {
System.out.println(ss[i]);
}


}
private void test5(Dog dog) {
// TODO Auto-generated method stub
         System.out.println(dog.name+" "+dog.sex+" "+dog.color+" "+dog.breed);
         dog.bark();
          dog.eatBone();
          dog.wagTail();
}
     private void test6(Dog[] dog) {
// TODO Auto-generated method stub
    for (int i = 0; i < dog.length; i++) {
Dog d=dog[i];
System.out.println(d.name+" "+d.sex+" "+d.color+" "+d.breed);
d.bark();
d.eatBone();
d.wagTail();
}


}
public static void main(String[] args) {
SumPar s = new SumPar();
s.test1();
s.test2(245);
s.test3(12, "dfgfdsdfdsa");
s.test4(new String[]{"ssdsd","sdddf","ertrewrtr"});
Dog dog = new Dog();
dog.name="jmy";
dog.breed="哈士奇";
dog.color="yellow";
dog.sex='公';


s.test5(dog);


Dog dog1 = new Dog();
dog1.name="jmy1";

dog1.breed="哈士奇1";
dog1.color="yellow1";
dog1.sex='公';
Dog dog2 = new Dog();
dog2.name="jmy1";
dog2.breed="哈士奇1";
dog2.color="yellow1";
dog2.sex='公';
Dog[] dogs ={dog1,dog2,dog};


s.test6(dogs);


}


}