一.為什麼使用面向物件
前言:面向物件的三大特徵
1封裝, 2繼承.3. 多型
程式設計思想:
面向過程:是指做什麼事情都是自己親力親為,按步驟去完成,比如:貓抓耗子的過程
面向物件:比如指定一個貓就是用來抓耗子的不管是大貓還是小貓還是波斯貓他都用來抓耗子,意思就是隻需要指定物件去完成
1.現實的世界就是由物件組成,萬物皆物件
面向物件開發的好處:
1.交流更加流暢
2.提高設計和開發效率
3.面向物件的思想符合人類思維習慣
二.物件和封裝
1.類和物件的概念
1.類是對某一事物的描述,是抽象的,概念上的定義。
2物件是實際存在的該事物的個體,是具體的,現實的。
2.成員變數和區域性變數的區別。
成員變數:定義在類中,有初始值
區域性變數:定義在方法中,無初始值
3.方法的過載:
1.在同一類中,同一方法名
2.引數列表不同(個數不同,順序不同,型別不同)方法的過載和返回值無關。
4.靜態變數(類變數)相當於全域性變數
用static修飾的變數叫靜態變數也叫類變數
用static 修飾的叫靜態方法也叫類方法
修飾程式碼塊叫靜態塊(先用於main之前呼叫,先塊後main)
靜態方法只能呼叫靜態變數;
非靜態方法中不能定義靜態變數
5.構造方法:方法名和類名相同,沒有返回值型別
每一個類都有一個預設的無參構造方法,當寫了一個有參構造,預設的無參構造就會消失
構造方法的作用:
1.例項化物件
2.給成員變數賦值。構造方法包括無參構造和有參構造。
三.封裝和繼承
1.封裝的概念:
將類的某些資訊隱藏在類的內部不容許外部程式直接訪問,而是透過類提供的方法來實現對隱藏資訊的操作和訪問。
封裝的好處:
1隱藏類的實現細節化
2方便加入控制語句
3方便修改的實現
4.只能透過規定的方法訪問資料
2.繼承
繼承是子類對夫類的擴充套件,延申
繼承的特點:
1.關鍵字:extends
2.java類沒有多繼承,只有單繼承,但是可以多繼承
3.不能繼承父類的三中情況:1.private成員,2.構造方法,3,子類與夫類不在同一包,使用預設訪問的成員
4.Java中所有類的祖先都是Object類
5.不同的叫法:夫類 基類 超類 子類