3 物件導向程式設計初步

2022-09-09 10:57:18 字數 4044 閱讀 9725

如何開汽車(事務比較簡單,可以用線性的思維去解決)

面向過程 物件導向

1.踩離合 駕駛員

2.掛擋 汽車

3.踩油門,放離合 駕駛員開汽車!

4.開了 car.start();

如何製造汽車(事物比較複雜使用簡單的線性思維無法解決)

面向過程 物件導向

1.造車輪? 車輪:

2.造發動機? 買橡膠到馬來西亞找到橡膠廠**買用船運到國內

3.造車皮? 造磨具:將橡膠放入模具出車輪

4.擋風玻璃?發動機

很難決定上面這些步驟之間的關係! 將上面造出的東西,組裝,汽車造車

先造發動機還是先早車輪?

物件和類的概念

物件:是具體的事物

類:是對物件的抽象(抽象 抽出象的部分)

先有具體的物件,然後抽象各個物件之間公共的部分,歸納出類,通過類再認識其他物件

天使類如何歸納?-->善於歸納總結

抽象出他們共同的部分:

1.帶翅膀(帶翅膀的不一定是天使,也可能是鳥人)

2.女孩

3.善良

屬性--->物件具有的各種特徵

每個物件的每個屬性都擁有特定值

行為/動作-->方法

物件:用來描述客觀事物的乙個實體,由一組屬性和方法構成

1.屬性 field 或者叫成員變數

2.屬性用於定義該類或該類物件包含的資料或者靜態屬性

3.屬性作用範圍是整個類體

4.在定義成員變數時,可以對其初始化,如果不對其初始化,j**a使用預設的值對其初始化

數值: 0 ,0.0

char:\u

boolean:false

所有引用型別:null

5.屬性定義格式:

[修飾符] 屬性型別 屬性名 = [預設值]

5.1屬性型別:

public,protected,private,static,final

5.2 屬性名:

可以是任何型別:基本型別和引用型別

5.3 預設值

合法識別符號即可,首字母小寫,駝峰原則

物件導向中,整個程式的基本單位是類,方法是從屬於物件的

方法定義格式:

【修飾符】 方法返回值型別 方法名(形參列表)

j**a中方法引數傳遞的是:值傳遞

所有j**a程式都以類class為組織單元

關鍵字class定義自定義的資料型別

public class helloworld

}定義乙個類的步驟

1.定義類名

2.編寫類的屬性

3.編寫類的方法

1.使用new關鍵字來建立物件

classname object = new classname ();

//建立物件

student student = new student();

//使用屬性---->物件名.屬性/物件名.方法名()

system.out.println(student.name);

system.out.println(student.age);

system.out.println(student.stunumber);

//呼叫方法

1.定義管理員類

實現思路:

定義管理員類administrator

定義其屬性和方法

定義測試類testadministrator

建立兩個管理員類的物件,並輸出他們的資訊

2.更改管理員密碼

2.1需求說明:

--輸入舊的使用者名稱和密碼,如果正確,方有權更新

--從鍵盤獲取新的密碼,進行更新

2.2 實現思路

--建立管理員類的物件

--利用while實現迴圈執行

administrator.j**a

public class administrator 

​public administrator(string loginname, string password)

​public string getloginname()

​public void setloginname(string loginname)

​public string getpassword()

​public void setpassword(string password)

​public void print()}​

testadministrator.j**a

import j**a.util.scanner;

​public class testadministrator ​}

}​

import j**a.util.scanner;

​public class stringdemo }​

普通**塊:定義在方法中,使用{}括起來的**叫做普通**塊

構造**塊:定義在類中使用{}括起來的**叫做構造**塊

注意:1.每次**執行的時候會將構造**塊中的**新增到構造方法的前面

2.構造**塊中的**會新增到每乙個構造方法中,當使用this(引數)的時候不會新增

靜態**塊:使用static{}括起來的**叫做靜態**塊,在程式載入的時候優先執行

資料庫鏈結等其他提前準備好的**會放到static中

同步**塊:在多執行緒的時候會使用,用來給共享空間進行加鎖操作

靜態**塊》構造**塊(建立物件的時候才會用到)>普通**塊

為了解決類之間的重名問題

2.為了便於管理類,適合的類位於合適的包

通常是類第一句非注釋性語句

包名:網域名稱倒著寫即可,再加上模組名,並與內部管理類

--寫專案時都 要加包,不要使用預設包

--com.gao和com.gao.car,這兩個包沒有包含關係,是兩個完全獨立的包,只是邏輯上看起來後者是前者的一部分

j**a.lang-->不需要手動匯入,自動載入

包含一些j**a語言的核心類,如string,math,system,thread,提供常用功能

j**a.awt

包含構成抽象視窗工具類abstract window toolkits的多個類,這些類被用於構建和管理應用程式的圖形使用者介面gui

j**a.net

包含執行與網路相關操作的類

j**a.io

包含能提供多種輸出輸出功能的類

j**a.util

包含一些實用工具類,如定義系統特性,實用與日期日曆相關的函式

public class packagedemo

}

當需要使用某個類的多個方法的時候,同時又不想頻繁寫該類的名稱,此時可以使用靜態導包

//import j**a.lang.math.*;

import static j**a.lang.math.*;

public class importdemo }​

物件導向程式設計 1 物件導向程式設計初步認知

其實,不需要搞明白面向過程程式設計和物件導向程式設計的區別,只需要明白物件導向的特點 變數必須有家長,萬事家長做主.慢慢就能理解物件導向的優劣.1.變數有所屬.常規方式 var a 1 let b 1 2 const c function name console.log a,b,c 常規的變數申明...

C 物件導向程式設計初步

1,使用const 指標 const int pone 指向整型常量的指標,指向的值不能修改 int const ptwo 指向整型的常量指標,指向的值可以修改,但該指標不能再指向其他變數 const int const pthree 指向整型常量的常量指標 summarize summary 訪問...

3 物件導向程式設計

基礎型別,如byte int bool float等 復合型別,如陣列 結構體 指標等 可以指向任意物件的型別 any型別 值語義和引用語義 物件導向,即所有具備物件導向特徵 比如成員方法 的型別 介面 type integer int func a integer less b integer b...