溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

OOP面向?qū)ο缶幊?Object-Oriented Programming)概述

發(fā)布時(shí)間:2020-08-10 00:11:51 來源:ITPUB博客 閱讀:242 作者:古月木易01 欄目:編程語言
Java的編程語言是面向?qū)ο蟮?,采用這種語言進(jìn)行編程稱為面向?qū)ο缶幊?Object-Oriented Programming, OOP)。
1)抽象(abstract)
   忽略一個(gè)主題中與當(dāng)前目標(biāo)無關(guān)的那些方面,以便更充分地注意與當(dāng)前目標(biāo)有關(guān)的方面。抽象并不打算了解全部問題,而只是選擇其中的一部分,暫時(shí)不用關(guān)注細(xì)節(jié)。
       例如:要設(shè)計(jì)一個(gè)學(xué)生成績(jī)管理系統(tǒng),那么對(duì)于學(xué)生,只關(guān)心他的班級(jí)、學(xué)號(hào)、成績(jī)等,而不用去關(guān)心他的身高、體重這些信息
2)封裝(Encapsulation)
   封裝是面向?qū)ο蟮奶卣髦?,是?duì)象和類概念的主要特性。封裝是把過程和數(shù)據(jù)包圍起來,對(duì)數(shù)據(jù)的訪問只能通過指定的方式。
   在定義一個(gè)對(duì)象的特性的時(shí)候,有必要決定這些特性的可見性,即哪些特性對(duì)外部是可見的,哪些特性用于表示內(nèi)部狀態(tài)。
   通常,應(yīng)禁止直接訪問一個(gè)對(duì)象中數(shù)據(jù)的實(shí)際表示,而應(yīng)通過操作接口來訪問,這稱為信息隱藏。
   信息隱藏是用戶對(duì)封裝性的認(rèn)識(shí),封裝則為信息隱藏提供支持。
   封裝保證了模塊具有較好的獨(dú)立性,使得程序維護(hù)修改較為容易。對(duì)應(yīng)用程序的修改僅限于類的內(nèi)部,因而可以將應(yīng)用程序修改帶來的影響減少到最低限度。
3)繼承(inheritance)
   繼承是一種聯(lián)結(jié)類的層次模型,并且允許和支持類的重用,它提供了一種明確表述共性的方法。
   新類繼承了原始類后,新類就繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。
   派生類(子類)可以從它的基類(父類)那里繼承方法和實(shí)例變量,并且派生類(子類)中可以修改或增加新的方法使之更適合特殊的需要
   繼承性很好的解決了軟件的可重用性問題。比如說,所有的Windows應(yīng)用程序都有一個(gè)窗口,它們可以看作都是從一個(gè)窗口類派生出來的。但是有的應(yīng)用程序用于文字處理,有的應(yīng)用程序用于繪圖,這是由于派生出了不同的子類,各個(gè)子類添加了不同的特性。
4)多態(tài)(polymorphism)
   多態(tài)性是指允許不同類的對(duì)象對(duì)同一消息作出響應(yīng)。
   多態(tài)性語言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢(shì),很好的解決了應(yīng)用程序函數(shù)同名問題。
   相同類域的不同對(duì)象,調(diào)用相同方法,表現(xiàn)出不同的結(jié)果
   例如:
      public class Person{
            public void say(){}
        }
        public class Student extends Person{
            public void say(){
                System.out.println("I am a student");
            }
        }
        public class Teacher extends Person{
            public void say(){
                System.out.println("I am a teacher");
            }
        }
        main:
            Person s = new Student();
            Person t = new Teacher();
            s.say();
            t.say();

本文來源于:奈學(xué)開發(fā)者社區(qū)

標(biāo)題:面向?qū)ο缶幊?Object-Oriented Programming, OOP)概述

url:https://ask.naixuejiaoyu.com/article/481

如有侵權(quán),請(qǐng)聯(lián)系我刪除!謝謝~

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI