奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

java語言

java面向對象編程講解

時間:2025-06-04 00:37:25 java語言 我要投稿
  • 相關推薦

java面向對象編程講解

  什么是面向對象?

  Object 對象,Oriendted 以…為導向的, Programming 程序設計

  面向對象就是使用對象進行程序設計,簡寫成OOP。

  SP和OOP對比

  面向對象的三大原則

  封裝 繼承 多態

  對象

  對象是面向對象編程的核心部分,是實際存在的具體實體,具有明確定義的狀態和行為;

  對象其實就是“數據”和“函數”的封裝體,其中:

  數據表示自身的狀態,也稱作“屬性”或“成員數據”;

  函數表示自身的功能,也稱作“方法”或“成員函數”。

  類

  人們為了更好地認識世界,將現實生活中的事物(對象)劃分成類;

  同一類中的事物總是具有一些共性;

  類以共同的特性和行為定義實體;

  類是具有相同屬性和和行為的一組對象的集合。

  屬性

  事物的特性在類中用變量表示;

  每個對象的每個屬性都擁有其特定的值;

  屬性名稱由類的所有對象共享;

  對象或實體擁有的特征在類中表示時稱為屬性

  方法

  事物的行為和動作在類中用函數表示;

  每個對象都有相同的動作和行為;

  對象執行的操作在類中表示為方法。

  類和對象的區別

  類是用來描述實體的“模板”或“原型”;

  對象是實際的實體,每一個對象都是類的一個具體實例;

  類用來定義對象所有的屬性和方法,同一類的所有對象都擁有相同的特征和操作;

  可以將類理解成生產產品的模具,而對象則是根據此模具生產的一個個產品。

  類與結構

  封裝

  將某些東西包裝在一起,然后以新的完整形式呈現出來;

  隱藏屬性、方法或實現細節的處理方式稱為封裝;

  封裝其實就是有選擇性地公開或隱藏某些信息,它解決了數據的安全性問題。

  繼承

  繼承就是重用現有的類來生成新類的一種特征;

  通俗地講就是從現有的類(即父類或基類)創建新類(子類或派生類)的過程;

  現實生活中,繼承可以達到財產重用的目的,而在Java中,繼承可以使代碼重用。

  多態

  多態是指同一函數在不同的類中有不同的實現;

  多態的好處就是使類更靈活,更便于擴充。

  這里還有一個不得不說的的 “抽象”

  抽象

  把相同的或相似的對象歸為一類的這個過程就是抽象,所以,抽象就是分析問題的方法;

  抽象的基本原則:

  只關心主要問題,而不關心次要問題;

  只關心主要矛盾,而不關心次要矛盾;

  只關心相同的東西,而不關心不同的東西;

  只關心問題是什么,能夠完成什么,而不關心怎樣去完成。

  抽象的過程其實就是面向對象編程的核心思想。

  在Java中定義類

  在Java中創建對象

  創建對象的語法

  和數組相似,對象也是引用數據類型,只能使用new運算符從堆中分配內存;

  創建對象的一般語法:

  類名 引用名 = new 類名();

  使用已經定義好的類,創建該類對象的過程稱為“實例化”。

  成員運算符 “ . ”

  只有先實例化類的對象,才可以訪問到類中的成員(屬性和方法);

  使用成員運算符(.)來訪問成員屬性或成員方法;

  一般語法是:

  對象名.成員名

  如:

  std.age = 18; //為成員屬性賦值 std.dining(); //調用成員方法

  訪問權限:public和private

  C語言中結構體的成員可以從任何地方進行訪問,這將給數據的安全留下極大的隱患;

  為了避免從類外部直接訪問類成員而造成的數據損壞,Java對類成員的訪問制定了約束;

  關鍵字public和private是訪問修飾符,用來說明某個成員是否可以從類外部進行訪問;

  public修飾的成員可以在任何地方進行訪問,不受任何約束;

  private修飾的'成員只能夠被本類中的其它成員訪問,而不能從類的外部進行訪問。

  無法從類的外部訪問私有成員;

  其它類的私有成員對于當前類也是隱藏的。

  訪問權限示例

  class Student { private String name; //姓名,私有的,不可以從類外部直接訪問 private int age; //年齡,私有的,不可以從類外部直接訪問 private float weight; //體重,私有的,不可以從類外部直接訪問 //吃飯的方法,公有的,可以從任何地方訪問 public void dining() { System.out.println("吃飽了..."); weight++; //dining方法是類內部成員,可以直接訪問本類私有成員 } //走路的方法,公有的,可以從任何地方訪問 public void walk() { System.out.println("走累了..."); weight--; //walk方法是類內部成員,可以直接訪問本類私有成員 } } public class Test { public static void main(String[] args) { Student std = new Student(); //實例化一個Student對象 std.age = 18; //試圖從類外部訪問私有成員,將會報出一個錯誤 std.dining(); //允許訪問公有成員 } }

  訪問權限(續)

  加上訪問修飾符有時候可能會給操作數據帶來不便,但可以在很大程度上保證數據的安全;

  一般地,我們會將成員屬性聲明為private,而將成員方法聲明為public,但這樣做并不是絕對的;

  有時候,類外部可能要操作到某些私有數據成員,那么就可以增加一個公有的方法,再由這個方法來操作私有數據,避免因類外部的誤操作而造成的數據損壞;

  因為main方法要由類外部的虛擬機來調用,所以main方法必須聲明成public。

  如:修改Student類

  class Student { //定義學生類 private String name; //姓名,私有 private int age; //年齡,私有 private float weight; //體重,私有 public void setName(String name) { //為姓名賦值的方法,公有 this.name = name; } public void setAge(int a) { //為年齡賦值的方法,公有 age = a; } public void setWeight(float w) { //為體重賦值的方法,公有 weight = w; } public void display() { //將所有信息打印出來的方法,公有 System.out.println("姓名:" + name + ",年齡:" + age + ",體重:" + weight); } public void dining() {……} //吃飯的方法,公有,代碼略 public void walk() {……} //走路的方法,公有,代碼略 } public class Test { public static void main(String[] args) { Student std = new Student(); //實例化學生類對象 std.setName("張三"); //為姓名賦值 std.setAge(18); //為年齡賦值 std.setWeight(55); //為體重賦值 std.dining(); //調用吃飯的方法 std.display(); //將信息打印出來 } }

  對象初始化

  在上例中,只能逐個地為數據成員賦值,如果想在對象實例化的同時就初始化成員屬性,就使用到了構造方法;

  構造方法是特殊的成員方法,它與類同名,在對象實例化時由虛擬機自動調用;

  請注意:構造方法沒有返回值類型,也不能有返回值。

  構造方法示例:

  /*定義ConstructorDemo類,對構造方法進行測試*/ class ConstructorDemo { /*構造方法,方法名與類名完全一致 無需指定返回值類型,也不能有返回值*/ public ConstructorDemo() { System.out.println("這是構造方法"); } } /*Test類,用來容納main方法 一般將包含有main方法的類聲明為public*/ public class Test { /*main方法,程序入口*/ public static void main(String[] args) { /*實例化ConstructorDemo類的對象*/ ConstructorDemo cd = new ConstructorDemo(); } } //會輸出“這是構造方法”

  構造方法

  正是由于在實例化對象的同時會自動調用構造方法,所以構造方法一般用來給數據成員分配資源或初始化數據成員;

  構造方法的一般形式:

  訪問權限 類名(形參列表) {

  方法體

  }

  因為是由虛擬機來調用構造方法,所以構造方法一般應定義成public。

  如:為Student類添加構造方法

  class Student { //定義學生類 private String name; //姓名,私有 private int age; //年齡,私有 private float weight; //體重,私有 //構造方法,根據傳遞進來的參數,為數據成員賦值 public Student(String n, int a, float w) { //分別為每個數據成員賦初始值 name = n; age = a; weight = w; } public void setName(String n) {……} //為姓名賦值的方法,公有,代碼略 public void setAge(int a) {……} //為年齡賦值的方法,公有,代碼略 public void setWeight(float w) {……} //為體重賦值的方法,公有,代碼略 public void display() {……} //將所有信息打印出來的方法,公有,代碼略 public void dining() {……} //吃飯的方法,公有,代碼略 public void walk() {……} //走路的方法,公有,代碼略 } public class Test { public static void main(String[] args) { //利用構造方法,為數據成員指定初始值 Student std = new Student("張三", 18, 55); std.display(); //將信息打印出來 } }

  構造方法(續)

  每個對象在生成時都必須執行構造方法,而且只能執行一次;

  如果構造方法調用失敗,那么對象也無法創建;

  不可以顯式地直接調用構造方法;

  在沒有定義構造方法的情況下,類會自動產生一個無參數的默認構造方法,這個默認的構造方法什么都不做;

  一旦顯式地定義了構造方法,默認構造方法自動消失。故一般定義無參和有參兩個構造方法。

  總結

  對象由狀態(屬性)和行為(方法)組成; 類是具有相同屬性和方法的對象的集合; 封裝可以隱藏對象實現的具體細節; 必須先實例化類的對象,才可以訪問到其中的成員; 成員運算符用于訪問對象的成員; 成員可以定義為公有,也可以定義為私有; 構造方法一般用來初始化對象中的數據成員; 如果不定義構造方法,將有默認的構造方法,一旦定義,默認的構造方法自動消失。

【java面向對象編程講解】相關文章:

java面向對象編程的方法02-17

java面向對象編程的方法資料06-05

Java的面向對象05-16

java面向接口編程08-01

Java如何面向對象08-15

java基礎的面向對象07-09

Java面向對象和面向過程的區別03-21

如何理解Java面向對象07-06

Java面向對象知識鞏固01-30

主站蜘蛛池模板: 万全县| 遂溪县| 睢宁县| 宁南县| 咸阳市| 辽中县| 郸城县| 高尔夫| 上栗县| 深圳市| 中西区| 杭锦后旗| 运城市| 博客| 浦江县| 江永县| 崇左市| 马尔康县| 陆河县| 贵港市| 浦北县| 政和县| 仙游县| 瑞安市| 洮南市| 哈尔滨市| 奉化市| 清涧县| 延庆县| 于田县| 咸阳市| 宣威市| 韶关市| 河北省| 电白县| 闻喜县| 弥渡县| 日照市| 扎赉特旗| 泸州市| 新昌县|