中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

織夢網(wǎng)站后臺關(guān)鍵詞推廣優(yōu)化app

織夢網(wǎng)站后臺,關(guān)鍵詞推廣優(yōu)化app,電商運(yùn)營 網(wǎng)站運(yùn)營,wordpress圖片清晰度文章目錄 一、封裝二、繼承三、多態(tài)四、聚合/組合五、接口/實(shí)現(xiàn)六、抽象 一、封裝 封裝 Encapsulation 封裝是隱藏對象實(shí)現(xiàn)細(xì)節(jié)的過程內(nèi)部狀態(tài)通常不能被其他對象訪問對象的數(shù)據(jù)只能通過接口去訪問封裝使得對象可以被看成一個“黑盒子”它保護(hù)對象的內(nèi)部狀態(tài)不被其他對象破壞…

文章目錄

    • 一、封裝
    • 二、繼承
    • 三、多態(tài)
    • 四、聚合/組合
    • 五、接口/實(shí)現(xiàn)
    • 六、抽象


一、封裝

封裝 Encapsulation

  • 封裝是隱藏對象實(shí)現(xiàn)細(xì)節(jié)的過程
  • 內(nèi)部狀態(tài)通常不能被其他對象訪問
  • 對象的數(shù)據(jù)只能通過接口去訪問
  • 封裝使得對象可以被看成一個“黑盒子”
  • 它保護(hù)對象的內(nèi)部狀態(tài)不被其他對象破壞
  • 一個對象實(shí)現(xiàn)方法的改變,不影響其他相關(guān)對象
  • 對象間通過“接口”進(jìn)行通信

封裝內(nèi)容

  • 內(nèi)部的、不想讓其他人隨意了解的信息
  • 可以封裝類的屬性,如,“人” 這個類,封裝個人的工資、資產(chǎn)、年齡等信息
  • 可以封裝類的方法,如, “人”如何賺錢()?如何消磨時間()?

封裝目的

  • 保護(hù)隱私
  • 保護(hù)數(shù)據(jù)安全
  • 隔離復(fù)雜度 (內(nèi)部實(shí)現(xiàn)細(xì)節(jié)不對外公開)。如“空調(diào)”,封裝了制冷的過程,對人提供了一個制冷的按鈕

封裝方式:Public、Private、Protected和Package

封裝原則:對象應(yīng)該只顯示與其交互所需的接口。與對象的使用無關(guān)的細(xì)節(jié)應(yīng)該對其他對象隱藏起來。

封裝建議:設(shè)置屬性的 getter 和 setter 方法,實(shí)現(xiàn)對數(shù)據(jù)的隱藏,因?yàn)槠渌麑ο蟛粦?yīng)該直接操作另一個對象中的數(shù)據(jù)。

class Student:def __init__(self):self._name = None@propertydef name(self):return self._name@name.setterdef name(self, name):self._name = names = Student()
s.name = "張三"  # 調(diào)用 setter
print(s.name)  # 調(diào)用 getter,輸出 張三

二、繼承

繼承 Inheritance

  • 一個類獲取另一個類的狀態(tài)和行為,并添加額外的狀態(tài)和行為

示例:噴氣式飛機(jī)類繼承飛機(jī)類
在這里插入圖片描述

class Airplane:def __init__(self):self.speed = Nonedef get_speed(self):return self.speeddef set_speed(self, speed):self.speed = speedclass Jet(Airplane):def __init__(self, multiplier=2):super().__init__()self.multiplier = multiplier  # Super()和Super關(guān)鍵字用于引用超類# 不需要定義get_speed()方法,它已繼承過來def set_speed(self, speed):  # set_speed()方法覆蓋了父類Airplane中的行為return super().set_speed(speed * self.multiplier)def accelerate(self):  # 子類可以定義新的行為super().set_speed(super().get_speed() * 2)j = Jet()
j.set_speed(1000)
print(j.get_speed())  # 輸出 2000
j.accelerate()
print(j.get_speed())  # 輸出 4000

三、多態(tài)

多態(tài) Polymorphism

  • 當(dāng)一個類從另一個類繼承而來,多態(tài)使得子類可以代替父類
  • 消息發(fā)送方不需要知道消息接收方屬于那個子類
  • 同一類族的接收者可以按自己的方式處理信息
    • 同一類族的接受者可以按自己的方式處理同一個消息
    • 可以有不同的對象以不同的方式處理相同的數(shù)據(jù)

多態(tài)的核心思想/設(shè)計(jì)模式的基礎(chǔ)

  • 使用指向父類的指針或者引用,能夠調(diào)用子類的對象
  • 示例:用shape分別引用Circle和Rectangle子類的對象
from abc import ABC, abstractmethodclass Shape(ABC):def __init__(self):self.area = None@abstractmethoddef get_area(self):passclass Circle(Shape):def __init__(self, r):self.radius = rdef get_area(self):return 3.14 * self.radius**2class Rectangle(Shape):def __init__(self, l, w):self.length = lself.width = wdef get_area(self):return self.length * self.widthcircle = Circle(5)
rectangle = Rectangle(4, 5)
lst = []
lst.append(circle)
lst.append(rectangle)
while len(lst) != 0:shape: Shape = lst.pop()print(f"面積:{shape.get_area()}")  # 不必關(guān)心它是具體哪種形狀### 輸出結(jié)果
面積:20
面積:78.5

四、聚合/組合

聚合/組合 Aggregation/Composition

  • 聚合/組合,都是描述整體與部分的關(guān)系

  • 聚合描述了一種“”關(guān)系。一個對象是另一個對象的一部分,或者一個對象包含一組其他對象。

  • 聚合關(guān)系是可傳遞的:如果A包含B, B包含C,那么A包含C。

  • 聚合關(guān)系是不對稱的:如果A包含B,那么B不包含A

  • 組合是聚合關(guān)系的一個變種,是一種強(qiáng)依賴關(guān)系,表示部分和整體的生命周期是一致的,即部分不能脫離整體而單獨(dú)存在。部分對象只能存在于整體對象之中,整體對象控制部分對象的生命周期。

  • 有些時候,聚合與組合的關(guān)系不是很明確

五、接口/實(shí)現(xiàn)

接口/實(shí)現(xiàn) Interface /Implementation

  • 軟件系統(tǒng)的內(nèi)部是由大量的互相關(guān)聯(lián)的類構(gòu)成的。當(dāng)對其中某一個類的局部進(jìn)行修改的時候,不能影響其它的類

  • 接口:描述一個類的用戶如何與這個類交互

  • 實(shí)現(xiàn):完成接口所定義的功能、任務(wù)。

    • 對實(shí)現(xiàn)的更改不應(yīng)該要求對用戶代碼進(jìn)行更改。
    • 用戶和實(shí)現(xiàn)都必須符合接口規(guī)范。
  • 示例:TV是顧客、用戶,插座是接口,發(fā)電廠是實(shí)現(xiàn)

在這里插入圖片描述

六、抽象

抽象 Abstraction

  • 抽象表示一個對象與其他所有對象相區(qū)別的基本特征,因此提供了同觀察者角度有關(guān)的清晰定義的概念界限。
  • 抽象是專注于最重要的方面而忽略次要細(xì)節(jié)的過程。使得我們可以通過專注于實(shí)體區(qū)別于其他實(shí)體的關(guān)鍵特征來有效管理(降低)復(fù)雜性
  • 抽象就是過濾掉對象的一部分特性和操作,直到只剩下你所需要的屬性和操作

抽象是一種思維方式、一種思維能力

  • 抽象是面向?qū)ο箢I(lǐng)域發(fā)現(xiàn)類的主要方法
  • 客觀世界的事物由各種各樣的實(shí)體(對象)構(gòu)成,每個對象都有各自的內(nèi)部狀態(tài)和運(yùn)動(狀態(tài))規(guī)律
  • 根據(jù)對象的屬性和運(yùn)動規(guī)律的相似性可以將對象分類
    • 復(fù)雜對象由相對簡單的對象組成
    • 不同對象的組合及其之間的相互作用和聯(lián)系構(gòu)成了系統(tǒng)
    • 對象間的相互作用通過消息傳遞,對象根據(jù)所接收到的消息做出自身的反應(yīng)

您正在閱讀的是《面向?qū)ο蠓治雠c設(shè)計(jì)Python版》專欄!關(guān)注不迷路~

http://www.risenshineclean.com/news/32855.html

相關(guān)文章:

  • 婚禮顧問網(wǎng)站介紹模版有哪些營銷推廣方式
  • 用php做動態(tài)網(wǎng)站嗎企業(yè)中層管理人員培訓(xùn)課程
  • 手機(jī)網(wǎng)站內(nèi)容模塊如何進(jìn)行網(wǎng)站宣傳推廣
  • 58網(wǎng)站怎么做優(yōu)化迅雷磁力鏈bt磁力種子
  • 合肥疫情風(fēng)險等級思億歐seo靠譜嗎
  • 天津企業(yè)網(wǎng)站建站做一個公司網(wǎng)站大概要多少錢
  • 用自己電腦做網(wǎng)站的空間百度自媒體注冊入口
  • 南寧seo費(fèi)用服務(wù)短視頻seo系統(tǒng)
  • 黨政機(jī)關(guān)如何建設(shè)網(wǎng)站企業(yè)推廣網(wǎng)絡(luò)營銷外包服務(wù)
  • 做網(wǎng)站如何與美工配合日本比分預(yù)測
  • 網(wǎng)站開發(fā)速成班網(wǎng)絡(luò)軟文怎么寫
  • 天津建設(shè)工程信息網(wǎng) 官網(wǎng)首頁seo排名點(diǎn)擊器曝光行者seo
  • 鄂州做網(wǎng)站公司推廣營銷軟件app
  • 建設(shè)銀行梅州分行網(wǎng)站廈門seo怎么做
  • 武漢 網(wǎng)站制作案例北京建站
  • 平頂山網(wǎng)站建設(shè)費(fèi)用競價排名是什么
  • 網(wǎng)站建設(shè)流程有東莞網(wǎng)站推廣方案
  • 成都模板網(wǎng)站建設(shè)網(wǎng)絡(luò)推廣優(yōu)化平臺
  • 下沙開發(fā)區(qū)建設(shè)局網(wǎng)站廣州軟文推廣公司
  • 威海做網(wǎng)站多少錢百度助手app下載
  • 網(wǎng)站建設(shè)計(jì)劃網(wǎng)絡(luò)營銷有什么崗位
  • 做網(wǎng)站論文網(wǎng)絡(luò)營銷的模式有哪些?
  • 做二手車網(wǎng)站怎么做的外貿(mào)軟件排行榜
  • 網(wǎng)站建設(shè)倒計(jì)時模板推廣引流圖片
  • 網(wǎng)站開發(fā)使用哪種語言免費(fèi)網(wǎng)站站長查詢
  • 個人做網(wǎng)站如何賺錢嗎百度客服電話人工服務(wù)熱線電話
  • 北京市網(wǎng)站建設(shè)百度搜索推廣怎么做
  • 青島開發(fā)區(qū)網(wǎng)站建設(shè)公司汽車seo是什么意思
  • 網(wǎng)站建設(shè)與網(wǎng)頁設(shè)計(jì)如何優(yōu)化百度seo排名
  • 魚滑怎么制作教程搜索引擎優(yōu)化seo的英文全稱是