1. 程式人生 > 其它 >Python基礎(運算子)

Python基礎(運算子)

1.類和物件
1.1什麼是物件,客觀存在的事務皆為物件
1.2什麼是面向物件,面對著一個物件,關注著一個物件
1.3什麼是類 ,類是對現實生活中一類具有相同屬性和行為的事物的抽象
類的特點:
類是物件的資料型別
類是具有相同屬性和行為的一組物件集合
1.4什麼是物件的屬性
屬性:物件具有的各種特徵,每個物件的每個屬性都有特點的值
1.5什麼是物件的行為
屬性:物件能夠執行的操作
1.6類和物件的關係
類:類是對像是生活中一類具有相同屬性和行為的事物的抽象
物件:是能夠看得著摸得著真是存在的事物
類是物件的抽象,物件是類的實體
1.7類的定義
類的重要性:是java程式的基本組成單位
類是什麼:類是對現實生活中一類具有相同屬性和行為的事物的抽象
類得組成:屬性和行為
屬性:在類中通過成員變數來體現(類中方法外的變數)
行為:在類中通過成員方法來體現(和前面的方法相比去掉static即可)
格式:

public class 類名{
//成員變數
變數1的資料型別 變數1;
變數2的資料型別 變數2;
...
//成員方法
方法1
方法2
...
}

1.8物件的使用
建立物件
格式: 類名 物件名 =new 類名();
使用物件
使用成員變數
格式:物件名.變數名
使用成員方法
格式:物件名.方法名()

成員變數和區域性變數
成員變數:類中方法外的變數
區域性變數:方法中的變數
區別:
類的位置不同 ,成員變數在類的方法外,區域性變數在方法內或者方法宣告上(形參)
記憶體位置不同,成員變數在堆記憶體,區域性變數在棧記憶體
生命週期不同,成員變數是隨著物件的存在而存在,隨著物件的消失而消失,區域性變數是隨著方法的呼叫而存在,隨著方法呼叫的完畢而結束
初始值不同,成員變數有預設的初始值,區域性變數沒有預設值,必須先定義,賦值,才能使用

封裝

封裝概述
是面向物件的三大特徵之一(封裝、繼承、多型)
是面向物件程式語言對客觀世界的模擬,客觀世界裡成員變數都是隱藏在物件內部,外界是無法直接操作的
封裝原則
將類的某些資訊隱藏在類的內部,不允許外部程式直接訪問,而是通過該類的方法來實現對隱藏資訊的操作和訪問
成員變數private,提供getXxx()/setXxx()方法
封裝的好處
通過方法來控制成員變數的操作,提高了程式碼的安全性
把程式碼用方法進行封裝,提供了程式碼的複用性

private關鍵字:是一個許可權修飾符,可以修飾成員(成員變數和成員方法),作用是保護成員不被別的類使用,被private修飾的成員只在本類中才能訪問

針對private修飾的成員變數,如果需要被其他類使用,提供相應的操作
提供"get變數名()"方法,用於獲取成員變數的值,方法用public修飾
提供"set變數名(引數)"方法,用於設定成員變數的值,方法用public修飾

this關鍵字:this修飾得變數用於指代成員變數
方法的形參如果與成員變數同名,不帶this修飾的變數指的是形參,而不是成員變數
方法的形參沒有與成員變數同名,不帶this修飾的變數,指的是成員變數
什麼時候使用this呢?解決區域性變數隱藏成員變數
this:代表所在類的物件引用
記住:方法被哪個物件呼叫,this就代表哪個物件


構造方法
構造方法概述
構造方法是一種特殊的方法
作用:建立物件
格式:

public class 類名{
    修飾符 類名(引數){}
}

功能:主要是完成物件資料的初始化
構造方法的注意事項:
構建方法的建立
如果沒有定義構造方法,系統將給出一個預設的無慘構造方法
如果定義了構造方法,系統將不再提供預設的構造方法
構建方法的過載
如果定理帶參構造方法,還要使用無引數的構造方法,就必須再寫一個構造方法
推薦的使用方式
無論是否使用,都手工屬性無慘構造方法

標準類的製作

成員變數
使用private修飾
構造方法
提供一個無慘構造方法
提供一個帶多個引數的構造方法
成員方法
提供每一個成員變數對應的setXxx()/getXxx()
提供一個現實物件資訊的show()
建立物件並未其成員變數賦值的兩種方式
無慘構造方法建立物件後使用setXxx()賦值
使用帶參構造方法直接建立帶有屬性值的物件