日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

允许使用抽象类类型 isearchboxinfo 的对象_此对象非彼对象(面向对象)3

發布時間:2023/12/10 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 允许使用抽象类类型 isearchboxinfo 的对象_此对象非彼对象(面向对象)3 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java13面向對象深入3

大綱

這里沒有寫

面向對象-封裝性

理解

封裝( encapsulation)怎么去理解,一臺電腦利用一個外殼包裹,保護了里面的電器元件,提供了少量的按鍵與其對接使用。我要看電視,只需要按一下開關和換臺就可以了。有必要了解電視機內部的結構嗎?有必要碰碰顯像管嗎?制造廠家為了方便我們使用電視,把復雜的內部細節全部封裝起來,只給我們暴露簡單的接口,比如:電源開關。具體怎么內部實現的,我們不需要操心。


需要讓用戶知道的暴露出來,不需要讓用戶了解的全部隱藏起來。這就是封裝,白話: “ 該露的露,該藏的藏”。

概念

? 我們程序設計要追求“ 高內聚,低耦合”。高內聚就是類的內部數據操作細節自己完成,不允許外部干涉;低耦合:僅暴露少量的方法給外部使用。利用抽象數據類型將數據和基于數據的操作封裝在一起,使其構成一個不可分割的獨立實體,數據被保護在抽象數據類型的內部,盡可能地隱藏內部的細節,只保留一些對外接口使之與外部發生聯系。系統的其他部分只有通過包裹在數據外面的被授權的操作來與這個抽象數據類型交流與交互。也就是說,用戶無需知道對象內部方法的實現細節,但可以根據對象提供的外部接口(對象名和參數)訪問該對象。

作用

a)、實現了專業的分工。將能實現某一特定功能的代碼封裝成一個獨立的實體后,各程序員可以在需要的時候調用,從而實現了專業的分工,即工作中的分模塊、分功能開發。
b)、隱藏信息,實現細節。通過控制訪問權限可以將可以將不想讓客戶端程序員看到的信息隱藏起來,如某客戶的銀行的密碼需要保密,只能對該客戶開發權限。

javabean

規則

在編寫 javabean 中的有一些常用的規則如:
1)、屬性盡可能私有化 private
2)、訪問器: setter 與 getter 訪問器 >private ,一般 public 居多 setterXxx: 存儲> 與 getterXxx: 查看

代碼

public class Person { //姓名 private String name; //年齡 private int age; //性別 private boolean sex; ? public Person() { ? } ? //setter與getter ? public String getName() { return name; } ? public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public boolean isSex() { return sex; } public void setSex(boolean sex) { this.sex = sex; } }

經典MVC思想

概述

MVC是一種分層思想,一種設計模式。M:Model層(模型層 )
處理數據、業務,再把處理后的數據提供給視圖層V:View層(視圖層)
為用戶展示數據,是數據最直觀的體現。C:Controller層(業務邏輯層)
接收界面層的數據,對接受到的數據進行封裝和類型轉換。
調用模型層的服務進行業務邏輯的處理。
調用合適的視圖去渲染數據。

優點

  • 減少代碼量,提升性能(效率);
  • 提高代碼的擴展性(需求改動,無需改動太多的代碼)
  • 遵循高內聚、低耦合的原則權限修飾符public: 一覽無遺;
    protected:子承父業 (兒子自己使用);
    default :家庭和睦;
    private :占為已有面向對象-多態性女朋友把我帶到家,丈母娘一看,瘋了!原來是像“曾志偉”!概述多態 polymorphism,主要是用來實現動態聯編的,換句話說,就是程序的最終狀態只有 在執行過程中才被決定而非在編譯期間就決定了。這對于大型系統來說能提高系統的靈活性和擴展性。
    java中如何實現多態?使用多態的好處?
    引用變量的兩種類型: ? 編譯時類型(模糊一點,一般是一個父類)
    ? ? 由聲明時的類型決定。
    ? ? 運行時類型(運行時,具體是哪個子類就是哪個子類)
    ? ? 由實際對應的對象類型決定。
    多態的存在要有3個必要條件:要有繼承,要有方法重寫,父類引用指向子類對象代碼這里沒有寫引用數據類型的類型轉換? 子類轉換為父類:自動轉換
    ? 上轉型對象不能操作子類新增的成員變量和方法。
    ? 上轉型對象可以操作子類繼承或重寫的成員變量和方法
    ? 如果子類重寫了父類的某個方法,上轉型對象調用該方法時,是調用的重寫方法。
    ? 父類轉換為子類:強制轉換
    (絕不是做手術,而是父類的真面目就是一個子類,否則會出現類型轉換錯誤抽象類概述使用了關鍵詞 abstract 聲明的類叫作”抽象類”。
    抽象類是對抽象的世界建模,是作為父類使用的。比如: 請求出一個圖形的面積? 這是你的思考究竟是什么圖形?這個圖形太抽象了?是三角形還是原型?圖形怎么求面積?這個時候就可以把圖形定義為抽象類。幾個要點
  • 抽象方法和抽象類均必須用abstract來修飾。
  • 抽象方法沒有方法體,只需要聲明不需實現。
  • 有抽象方法的類只能定義能抽象類 。
  • 相反抽象類里面的方法不一定全是抽象方法,也可能沒有抽象方法。
  • 抽象類可以包含屬性、方法、構造方法。
  • 抽象類不能實例化,及不能用new來實例化抽象類,只能用來被子類調用。
  • 抽象類只能用來繼承。
  • 抽象方法必須被子類實現。抽象類的子類必須覆蓋所有的抽象方法才能被實例化,否則還是抽 象類。代碼這里沒有寫接口概述? 接口(interface ),比“抽象類”還“抽象”的“抽象類”,可以更加規范的對子類進行約束。全面地專 業地實現了:規范和具體實現的分離如何定義? 格式:
    ? ? [訪問修飾符] interface 接口名 [extends 父接口1,父接口2…] {
    ? ? 常量定義 //總是public static final
    ? ? 方法定義 //總是:public abstract ?
    ? }如何實現
  • 子類通過implements來實現接口中的規范
  • 接口不能創建實例,但是可用于聲明引用變量類型。
  • 一個類實現了接口,必須實現接口中所有的方法,并且這些方法只能是public的。
  • Java的類只支持單繼承,接口支持多繼承空接口只是給 JVM 的一種標識而已,就是 JVM 的通行證。 1)、java.lang.Cloneable :不是所有的對象都可以被克隆 否則CloneNotSupportedException 2)、java.io.Serializable 實際開發中,一個業務邏輯處理類永遠不要去繼承一個實現好的類,要么繼承抽象類,要么實現接口,優先使用接口,避免單繼承的局限 :abstract class表示的是”is a”關系,interface表示的是”like a”關系 1)、java.lang.Cloneable :不是所有的對象都可以被克隆 否則CloneNotSupportedException 2)、java.io.Serializable 實際開發中,一個業務邏輯處理類永遠不要去繼承一個實現好的類,要么繼承抽象類,要么實現接口,優先使用接口,避免單繼承的局限 :abstract class表示的是”is a”關系,interface表示的是”like a”關系

?

總結

以上是生活随笔為你收集整理的允许使用抽象类类型 isearchboxinfo 的对象_此对象非彼对象(面向对象)3的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。