什麼是面向對象,如何理解它?

2021-01-09 宣皓佳創

面向對象簡稱是OOP,是目前主流的編程思想,可能許多讀者並不了解,希望能通過下面的講解能讓大家了解什麼是面向對象。JavaScript本身也是面向對象的程式語言,對於動態網頁行為的編程,只要稍微對它有了解就可以的。對象這個詞在是從英文「object」中翻譯過來的,在之前的編程過程中,我們過多的考慮的是計算機硬體的工作方式,導致編程的難度增加,經過不斷的發展和改良,主流的程序語言在想人類的自然語言轉變,不過編程的思想還是沒有重大性的突破。

對象就是人對各種具體物體抽象之後的概念,人們每天都在跟各種各樣的對象打交道,比如說一本書就是一個對象。在面向對象的編程過程中,對象有很多的特性,比如說高度、寬度、顏色等等,這些都是對象的屬性,而且對象還有更多的功能,比如一部手機,可以聽歌,看視頻,打電話,這些可以理解成有個對象的方法,這些方法可以看成是函數,並且對象不是孤立的,它還具有對象的繼承性。在編程的過程中,我們可以把所有的問題看做是對象,以人的思維解決問題。對象實際上就是一組數據的集合,並且都已經被命名,這些數據的根據就是對象的屬性,可以被訪問

。如果想訪問一個外部的對象我們就必須先引進它,好比你想用國外的東西一樣,只有你從國外把它帶回來你才能使用。那麼下面我們就看看如何創建一個對象吧:在我們JavaScript內部有很多是內置對象,我們也可以直接創建一個新的對象,創建對象的方法就是使用new運算符和構造函數,eg:var new_name=new 構造函數;預先定義的構造函數直接直接決定所創建

對象的類型,如果想創建一個空的對象,可以使用object()構造函數。還有就是定義對象的屬性,其實定義對象的屬性很簡單,直接在對象後面用點運算符號聲明屬性的名稱,並可直接賦值。創建對象所用的構造函數是預定義的,如Object()可以用於創建一個空對象,而創建數組對象我們可以使用Array()構造函數。這些都是些內置的構造函數,當然我們也可以自定義,就是自定義構造函數,比如你想構造有個食物的對象,就是構造food()的對象,通過向這個構造函數傳遞參數以初始化對象實例。不過構造函數只能初始化對象實例而不能返回對象實例,需要使用new運算符才能創建食物的對象實例。

相關焦點

  • 一句話概述面向對象思想,徹底理解面向對象編程
    面向對象是把一組數據結構和處理他們的方法組成對象,把具有相同行為的對象歸納成類,通過封裝隱藏類的內部細節,通過繼承使類得到泛化,通過多態實現基於對象類型的動態分派。之前在面試Java的時候遇到關於面向對象的問題,好久沒複習,概念都忘了,當時沒能回答完整。今天整理了一下,徹底搞懂了什麼叫面向對象,下面用通俗的話詳細講解面向對象的相關概念。
  • 什麼是面向過程和面向對象編程
    一張圖帶你看懂什麼是面向過程和面向對象編程兩種思想的對比:面向過程是具體的東西,而且面向過程是面向對象的基礎。比如開汽車去某個地方,你就需要先有個汽車而且你需要會開車,而汽車有開車,加減速和剎車等功能,關於汽車的操作每一個都需要一個具體的過程來實現總結來說就是,面向過程是一種基礎的方法,它考慮的是實際的實現。一般情況下,面向過程是自頂向下逐步求精,其最重要的是模塊化的思想方法。因此在模塊化編程的時候才會有「低耦合,高內聚」的思想來提高效率。
  • 如何給女朋友解釋什麼是面向對象編程?
    女朋友拿著一本《面向對象編程》過來找我。什麼是面向對象?是要面向我寫代碼嗎?不是啦,這個面向對象的對象不是你這個對象啦。此時,我突然感受到了一股莫名的殺氣。什麼?你還有其他對象嗎?有我好看嗎?有我瘦嗎?不對。你不能有其他對象。什麼是面向對象?面向對象,英文名字叫Object Oriented,是一種軟體開發方法。
  • 面向對象編程的興衰
    面向對象編程(OOP)並沒有消亡。但與過去相比,它確實沒有那麼普及了。在 90 年代時,有很多面向對象編程相關的教科書和計算機科學課程。它就是「流行趨勢」。然而,隨著時間的流逝,人們開始意識到,嚴格的面向對象方法會帶來很多問題。這些問題往往會使代碼更複雜、更難以理解且更難以測試。
  • Python面向對象編程的基本概念
    九道門商業數據分析學院提供介紹在學習面向對象的編程時。我決定深入了解它的歷史,結果令人著迷。術語「面向對象程序設計」(OOP)是艾倫·凱(Alan Kay)在1966年讀研究生時提出的。名為Simula的語言是第一種具有面向對象編程功能的程式語言。它是在1967年開發的,用於製作仿真程序,其中最重要的信息稱為對象。
  • 經典:面向對象編程,我的思想(上部)
    學編程學的是什麼?思想!精通一門程式語言(最好是面向對象的語言)後再去搞其他的程式語言,你會發現過程是如此的行雲流水!為什麼?你已經把編程的思想掌握了,再去學其他的,無非是學習一種新的語法格式了。我在這裡並不是和你討論怎麼去用C++或JAVA,也不是和你討論怎麼去學他們,我要和你討論的是怎麼去理解面向對象。
  • 什麼是面向對象,有什麼特點
    在程式語言中,面向對象的使用是非常重要的,在PHP語言中也是用了很多年才獲得這項技術。面向對象的出現是系統開發中一個偉大的改革,程式語言開始從應用程式回到數據上。面向對象將編程過程中焦點轉向建模的真是實體上,讓應用程式更加接近現實世界。下面小編為大家主要介紹面向對象。
  • Java基礎入門篇之面向對象和類的定義
    Java基礎入門篇之面向對象和類的定義 本文主要介紹了面向對象概念,面向對象的三個特點封裝性、繼承性、多態性。類的定義和創建對象與使用。詳細的介紹了怎麼去定義一個類,通過案例來理解怎麼去定義的。對象的創建與使用介紹了使用的格式,通過創建對象後,可以通過對象的引用來訪問對象的成員。
  • 嘿,你對象在這兒——Java 面向對象編程:類和對象
    等到我們學面向對象的時候不得不去了解一下什麼是類,什麼是對象,他倆是啥關係。關於面向對象,網上那個寫得很好的例子已經被我抄到C語言與Java的區別那篇了,感興趣的小夥伴可以點左上角的菜單去查看。那麼類和對象到底是什麼呢?類就是有某些共同特徵的實體的集合;對象就是類的實例,一個對象當然就是一個類的實例。
  • 如何以面向對象的思想設計有限狀態機
    這個時候就需要以面向對象的思想來設計有限狀態機。面向對象法設計狀態機面向對象基本概念以面向對象的思想實現的狀態機,大量涉及了對於函數指針的用法,必須對這個概念比較熟悉上述所提到了兩個設計方法都是基於面向過程的一種設計思想,面向過程編程(POP)是一種以過程為中心的編程思想,以正在發生的事件為主要目標,指導開發者利用算法作為基本構建塊構建複雜系統。
  • 面向對象編程會被拋棄嗎?這五大問題不容忽視
    儘管這個想法很巧妙,但直到 1981 年,面向對象編程才成為主流。在那之後,它就沒有停止過吸引新的和經驗豐富的軟體開發者。面向對象的程式設計師市場一如既往地忙碌。但是在最近幾年中,這種已有幾十年歷史的編程範式受到越來越多的批評。難道是在面向對象編程大行其道 40 年之後,技術已經超越了這種範式?
  • 面向對象編程從小白到王者系列-認識對象
    在學習面向對象程式語言時很多人都是被什麼是對象這個神一樣的概念給打敗的。被打敗後從此就開始過得渾渾噩噩了,聽課學習時都是迷迷糊糊地,開始變得像聽天書一樣,從而興趣一落千丈,慢慢被「程序猿」給淘汰。在所有的教材中或是教程中都是把一個很簡單對對象解釋搞得特別高大上。
  • 圖說Java中的OOPs(面向對象編程系統)基本概念
    面向對象編程是一種編程概念,其核心思想是允許用戶創建所需要的對象,然後提供處理這些對象的方法,使用者通過操作對象而獲得運算數據。本文將以簡潔的方式對面向對象編程中的概念進行梳理。1. Class(類)你可以將類理解為對一組相似實體的統稱。
  • 聊聊面向對象編程的幾個基本原則
    進行面向對象編程,有下面幾個原則:一. 面向抽象原則二. 開閉原則三. 多用組合少用繼承原則四. 高內聚-低耦合原則下面首先先介紹抽象類和接口,然後介紹面向抽象編程。抽象類不能使用new運算符創建對象。如果一個非抽象類是某個抽象類的子類,那麼它必須重寫父類的abstract方法,即在子類中將abstract方法重新聲明,但必須去掉abstract修飾符,同時要保證聲明的方法名字,返回類型,參數個數和類型與父類的abstract方法完全相同。作為上轉型對象。
  • 基於面向對象的思想來使用結構體,將會有意想不到的效果
    接著定義通信協議結構體,然後再說明C語言方式使用結構體的方法,再介紹基於面向對象的思想來使用結構體,從而體會兩者方式之間的區別,最後再介紹如何採用模版方式來更好地獲取結構格式不定的數據內容。二、通信協議定義客戶端和服務端的通信協議,它包括幀號,該幀號具有唯一性;幀類型,根據具體業務場景進行定義,比如命令幀、結果幀等;幀的來源表示網絡幀的發送者; 幀的目的表示網絡幀的接受者;數據幀長度則存儲數據內容的具體長度; 數據則存放不定長度的數據內容。
  • 面向對象的產品觀(2):分解的藝術
    編輯導語:面向對象的產品觀是一個非常大的話題,在上一篇文章中,作者為我們分享了關於面向對象的產品觀中的抽象思維,在本篇文章中,作者又介紹了分解的藝術,看看從橫向和縱向兩個方面應該如何分解藝術吧。
  • 雲計算開發學習筆記:Python3 面向對象技術簡介
    來源:TechWeb.com.cnPython從設計之初就已經是一門面向對象的語言,正因為如此,在Python中創建一個類和對象是很容易的。本章節我們將詳細介紹Python的面向對象編程。如果你以前沒有接觸過面向對象的程式語言,那你可能需要先了解一些面向對象語言的一些基本特徵,在頭腦裡頭形成一個基本的面向對象的概念,這樣有助於你更容易的學習Python的面向對象編程。接下來我們先來簡單的了解下面向對象的一些基本特徵。面向對象技術簡介① 類(Class): 用來描述具有相同的屬性和方法的對象的集合。
  • 科普文,面向對象程序設計,要知道的那點事
    面向對象程序設計更簡單,編程者需要關心的事情,就那點事。一、什麼是對象?在現實生活中,每一個具體事物,都是對象!在程序設計中,每一個可以操作的實體,就是對象。是具有屬性和方法的實體。舉個例子吧!表單、標籤、命令按鈕都是對象。二、什麼是對象的屬性和屬性值?在現實生活中,每個對象都有自己的特性,我們可以具現化成一個具體的值。某喵,體重2斤,梨花毛,出生日期2020年8月4日。在面向對象程序設計中,對象的特性稱為對象的屬性。對象特性的具體值,被稱為屬性值。比如,程式設計師可以給不同的命令按鈕,賦予不同的屬性值。
  • 「c 技術」第7章 面向對象的程序設計
    本章要點: 面向對象的基本概念 類的定義與對象的聲明 構造函數和析構函數 類的靜態成員和實例成員 方法重載及運算符重載的編程實現 類的繼承與多態性的編程實現 類的屬性的實現7.1 循序漸進學理論7.1.1 面向對象程序設計概述1.面向對象程序設計的由來
  • Objeck v5.6.1 發布,面向對象程序設計語言
    Objeck 是一種受 Java 啟發,同時受 Scheme 和 UML 影響的面向對象程序設計語言。Objeck 特性為快速,易於使用,輕巧且跨平臺。Objeck 把所有的數據類型都當成是對象,包含一個編譯器和虛擬機,具有內存管理和 JIT 編譯器。