java基础(5)----面向对象
簡單的說一下,我們學習編程,最重要的就是要有編程思想,而編程思想無非就是面向過程和面向對象,以下談談我對編程思想的理解。
?
面向過程:
????從過程入手,第一步,第二步…….借助過程與過程的配合,完成需求。
例如: 小明進入房間,需要以下幾個步驟:
第一步打開房間門,第二步小明進去,第三步把房間門關上。
每一步都是一個過程,如果小王,小李等等進來呢,一直重復這幾個過程,會顯得程序冗余復雜。此時面向對象的出現完美解決了這種問題。
?
面向對象:----模擬現實世界編程。
????從對象入手,把和需求相關的對象提取出來,借助對象和對象的配合,實現需求。
例如:小明進入房間:
????先向小明下達開門的指令,然后向小明下達進入指令,最后向小明下達關門指令,小明就是對象,面向對象編程。
現實生活中的對象都具有兩個主要要素,一個是對象有什么,一個是對象干什么
對應程序中的屬性和方法。
//實現部分
}
使用:
????構造方法不允許手動調用,每次創建對象時由解釋器自動調用
????構造方法的作用是給屬性賦值
????如果類中沒有定義構造方法,系統會默認分配一個公共無參的構造方法。
類的式例代碼:
| package com.lvsling.test; ? public class Student { ????//屬性 ????String name;//聲明屬性 ????int age=10;//聲明屬性并賦值 ????boolean sex; ????//無參構造方法 ????public Student() { ???????? ????} ????//有參構造函數 ????public Student(String name, int age, boolean sex) { ????????super(); ????????this.name = name; ????????this.age = age; ????????this.sex = sex; ????} ????//普通方法 ????public void Test1(){???? ????????System.out.println("這是普通方法"); ????}???? } |
?
對象名.屬性名 //獲取對象的屬性值
對象名.方法名(實參列表);//調用對象的方法。
| package com.lvsling.test; ? public class TestOO { ????public static void main(String[] args) { ????????//創建對象 ????????Student s=new Student("zhangsan",18,true); ????????//修改對象的屬性值 ????????s.age=25; ????????//獲取對象的屬性值 ????????System.out.println(s.age); ????????//調用對象的方法 ????????s.Test1(); ????} } |
?
以上說明了面向對象中的類的書寫,創建對象以及調用方法的過程。面向對象是java學習的核心思想,面向對象編程是模擬現實生活進行編程的思想,對象共性提取抽象化,面向對象高內聚,弱耦合大大提高了程序代碼的可重用性和可擴展性。
????????提升與拓展:
????????????類的屬性是實例變量,也叫全局變量:
方法重載----OverLord:在同一個類中,可以定義多個名稱相同,參數不同的方法
要求:形參列表不同----順序,類型,個數。對返回值無要求
好處:屏蔽因參數列表不同帶來的差異,方法調用簡單,靈活。
轉載于:https://www.cnblogs.com/lvsling/p/8451229.html
總結
以上是生活随笔為你收集整理的java基础(5)----面向对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【洛谷P3369】普通平衡树(splay
- 下一篇: BZOJ 1412 狼和羊的故事