面向對象①

面向對象和麪向過程
面向過程:
一步一步的描述 重點是過程
面向對象:
尋找對象 使用對象 解決問題 重點是對象
舉例:買一臺組裝電腦
面向過程:
1.挑選主板
2.挑選CPU
3.挑選顯卡
……
面向對象:
1.找一個懂電腦的人
2.這個人幫你解決 買電腦的問題

通過上面的例子可以看出來 面向對象解決一件事情要比面向過程要簡單的多
我們主要看面向對象
特點:
1.將複雜的問題簡單化
2.從事情的執行者變成指揮者
3.面向對象的思考問題更接近於人的思想方式
特徵: 封裝 繼承 多態
類: 一類抽象事物的集合
對象: 使用類創建出來的 集體的事物
面向對象其實就是維護類和對象之間的關係 不斷地操作對象 使用對象 指揮對象去完成一些功能
我們可以先寫一個對象來看看
類名 對象名 = new 類名();
學生對象

Student stu = new Student();
stu.name = "小明";
stu.age = 15;
stu.gender = "男";
System.out.println(stu.name);
System.out.println(stu.age);
System.out.println(stu..gender);
stu.eat();
stu.sleep();
stu.lesson();

在這裏對小明同學有哪些描述
1.姓名
2.年齡
3.性別
4.吃飯
5.睡覺
6.上課
那麼這6種描述有什麼不同或者相同之處呢?
姓名 年齡 性別這三種我們可以稱之爲屬性
吃飯 睡覺 行爲我們可以稱之爲行爲

屬性在程序中就是成員變量
行爲在程序中就是成員方法

局部變量和成員變量的區別
1.書寫的位置
局部變量: 方法中 或者 方法的聲明中
成員變量: 類中 方法外

2.初始化值
局部變量: 沒有初始值 必須給初始值 才能使用
成員變量: 有默認的初始值

3.內存存在的位置
局部變量: 棧內存
成員變量: 堆內存

4.聲明週期
局部變量: 隨着方法的入棧而出生 出棧而死亡
成員變量: 隨着對象的出生而出生 死亡而死亡

在聲明成員變量的時候也可以給一個初值 這時候這個初值就相當於默認值

匿名對象
匿名 就是說沒有名字的對象
好處: 節省代碼
用處: 只調用一個方法的時候

封裝
把屬性和方法的具體實現隱藏
只開放公共訪問的方法
成員變量私有化就是封裝的一種變現形式
這裏有一個系統的關鍵字
private —> 權限修飾符
在屬性前面添加了這個關鍵字之後 這個關鍵字就變成了私有屬性
私有屬性就是只能在本類中能夠訪問 出了本類就不能去訪問

那麼如何去訪問private修飾的成員變量
1.獲取

class phone{
    private String name;
    String color;
    public String getName(String n) {
        return name;
    }
}

通過用get…來獲取name
2.修改

class phone{
    private String name;
    String color;
    public void setName(String n) {
        name = n;
    }
}

通過set…來進行修改屬性的值

類是可以重名的
只不過是放在不同的包下
在訪問的時候也要指明訪問的是哪個包下面的類

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章