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