面向對象編程從小白到王者系列-認識對象

2021-01-09 皮卡丘多多的小店

在學習面向對象程式語言時很多人都是被什麼是對象這個神一樣的概念給打敗的。被打敗後從此就開始過得渾渾噩噩了,聽課學習時都是迷迷糊糊地,開始變得像聽天書一樣,從而興趣一落千丈,慢慢被「程序猿」給淘汰。

在所有的教材中或是教程中都是把一個很簡單對對象解釋搞得特別高大上。我在上學時,學習什麼是對象的時候我的老師就告訴我「萬物皆對象」。到了現在還有很對人在用這句話來解釋。當時我的老師說完"萬物皆對象"時,我一下就愣在那了,腦子就一片空白,當時的我就想難道同學也是我的對象?路人也是我的對象?老師也是我的對象?咦~不敢再想了,畫面有點……

再後來就帶著這個疑問工作了,哎~!雖然代碼寫的沒有問題,但是始終不明白對象是什麼意思,開發時可謂是困難重重啊~!終於有一天在一次的哦然機會給手下員工講解項目需求時,突然明白什麼是對象了,心裡頓時豁然開朗啊~!哈哈!好了其他的廢話我也不多說了,現在進入正題,來認識一下程序中的對象到底是一個什麼樣的神秘東東吧。

其實對象的意思不是現實生活中的男女朋友,嚯嚯~!我們要理解對象的概念要先來理解一下編程裡另一個概念--類(class),在現實生活中的一切物品、時間、動物、人物都是通過分類來劃分的。如:人類、鳥類、魚類。

那麼這些現實生活中的分類在程序中怎麼表達呢?在程序中就是通過使用關鍵字class來創建一個類的。

class People //這樣就是創建了一個名為「人」的類

這樣就把現實中的分類通過編程的形式虛擬到了程序中,接下來就到了對象這個概念了。這裡還拿人類進行舉例,我們每一個人在現實生活中都是隸屬在人類這個分類中的,我們每個人都是一個獨立的個體,獨立的個體有名字,有年齡,有身高等等,這個獨立的個體就是一個個對象---說到這裡就回到了很多老師講的萬物皆對象上了。那麼怎麼用編程的方式來表達對象呢?

我們來看下面的例子:

//先創建人這個類

public class People

{

//編寫類的的屬性,用來描述每個對象的特徵

public string Name{get;set;}//姓名

public string Sex{get;set;}//性別

public int Age{get;set;}//年齡

}

class Make //創建一個用來造人的類

{

void MakePeole()//創建一個用於造人的方法

{

//注意重點來了

People ple=new People();//使用new關鍵字來創造人類對象,這裡ple的就是一個獨立個體,就是對象

ple.Name="姜子牙";//這人叫姜子牙

ple.Sex="男"; //是個男的

ple.Age=1000; //1000歲了

//上邊就是把現實中的對象通過代碼在程序裡虛擬的過程。

}

}

通過上面的例子,我們可以舉一反三,來創建鳥類、魚類等等其他類的對象。

相關焦點

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