面向?qū)ο蠡A1_第1頁
面向?qū)ο蠡A1_第2頁
面向?qū)ο蠡A1_第3頁
面向?qū)ο蠡A1_第4頁
面向?qū)ο蠡A1_第5頁
已閱讀5頁,還剩60頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

面向?qū)ο蠡A2023/2/5面向?qū)ο髥栴}求解的提出面向機器的程序:為特定的硬件系統(tǒng)專門設計。效率高但可讀性和可移植性差。面向過程的程序:用計算機能理解的邏輯來描述和表達待解決的問題及具體的解決過程。其核心是數(shù)據(jù)結構+算法。如C,F(xiàn)ORTRAN等??梢跃_完備地描述具體的求解過程但無法清楚表述含多個相互關聯(lián)的過程的復雜系統(tǒng)。面向?qū)ο蟮某绦颍河糜嬎銠C邏輯來描述系統(tǒng)本身,包括系統(tǒng)組成、系統(tǒng)各種可能狀態(tài)、系統(tǒng)中可能產(chǎn)生的各種過程及過程引起的系統(tǒng)狀態(tài)切換。其核心是對象+消息。如:Smalltalk、Lisp,Clascal,ObjectPascal,C++、Java2什么是對象3MethodsVariable

圖顯示了對象的變量組成了圓心部分。方法處在變量的四周并且在程序中從其它對象隱藏了對象的核心。用保護方法的方法來包裝對象的變量稱為封裝。這個對象圖就是對象理想的表示法,也是面向?qū)ο笙到y(tǒng)設計者努力的最后目標.然而這并不是全部的內(nèi)容。通常,出于某種現(xiàn)實的理由,對象可能暴露它的一些變量或者隱藏一些方法。什么是對象

在JAVA中訪問變量和方法可以轉(zhuǎn)換為控制訪問類的成員函數(shù)。封裝相關的變量和方法到一個簡潔的軟件集是一個簡單而且強有力的方法,它為軟件開發(fā)者提供了兩個主要好處:模塊性:對象的源代碼可以獨立于其它的對象源代碼來進行編寫和維護。同樣,對象可以很容易地在系統(tǒng)中傳遞。你可以將你的對象給其它的對象,它仍然可以正常工作。信息隱藏:一個對象如果有一個公共的界面,那么其它的對象就可以與之進行通訊。這個對象可以維護私人的信息和方法,它可以在任何時候被改變而不影響依耐于它的其它對象。.4什么是消息.5

單一的一個對象通常不是很有用的。相反,一個對象通常是一個包含了許多其它對象的更大的程序或者應用程序。通過這些對象的交互作用,程序員可以獲得高階的功能以及更為復雜的行為.軟件對象與其它對象進行交互與通訊是利用發(fā)送給其它對象來實現(xiàn)的。當對象A想對象B來執(zhí)行一個B中的方法,對象A就會消息給對象B。如圖所示

對象—現(xiàn)實生活中對象:一個人、一個物、一件事等

對象是認識世界的基本單元。整個世界由形形色色的對象構成。對象是現(xiàn)實世界中的一個實體,其特性是:每一個對象必須有一個名字以區(qū)別其它對象;用屬性(或狀態(tài))來描述它的某些特征;有一組操作,每一個操作決定對象的一種行為。.6.7舉例(2)

教師李志宇是一個對象:對象名:李志宇對象的屬性:

年齡:28

性別:男學歷:博士職稱:教授專業(yè):計算機科學理論對象的操作:

說自己的年齡說自己的專業(yè)講課研究對象的關系包含:對象A是對象B的屬性時,稱對象B包含對象A。如顯象管對象和電視機對象。內(nèi)存空間上,被包含的對象將被保存在包含它的對象內(nèi)部。繼承:對象A是對象B的特例時,稱對象A繼承了對象B。如電視機對象和彩色電視機對象。關聯(lián):對象A的引用是對象B的屬性時,稱對象A和對象B之間是關聯(lián)關系。如電視機對象和廠商對象。.8優(yōu)點.9

封裝性

對象的封裝性徹底消除了傳統(tǒng)結構方法中數(shù)據(jù)與操作分離所帶來的種種問題,降低了維護數(shù)據(jù)與操作之間的相容性的負擔。而且把對象的私有數(shù)據(jù)和公共數(shù)據(jù)分離開,保護了私有數(shù)據(jù),減少了模塊間可能產(chǎn)生的干擾,達到降低程序復雜性、提高可控性的目的,提高了程序的可重用性和可維護性。優(yōu)點.10

封裝性

自治性

對象作為獨立的整體具有良好的自治性,即它可以通過自身定義的操作來管理自己。一個對象的操作可以完成兩類功能:一是修改自身的狀態(tài);二是向外界發(fā)布消息。當一個對象要想影響其他對象時,需要調(diào)用那個對象的方法,而不是直接去改變那個對象。對象的這種自治性能夠使得所有修改對象的操作都可以以對象自身所具有的一種行為的形式存在于對象整體之中,從而維護了對象的完整性,有利于對象在不同環(huán)境下的重用、擴充和維護。優(yōu)點.11

封裝性自治性

安全性

對象具有通過一定的接口和相應的消息機制與外界相聯(lián)系的特性,并與對象的封裝性結合在一起,較好地實現(xiàn)了信息隱藏。這樣使得對象成為一只使用方便的“黑匣子”,其中隱藏了私有數(shù)據(jù)和內(nèi)部運行機制。使用對象時只需要了解其接口提供的功能和操作,而不必了解對象內(nèi)部的數(shù)據(jù)描述和具體的功能實現(xiàn)。優(yōu)點12

封裝性自治性安全性

擴展性

繼承是面向?qū)ο蟮牧硪粋€重要特性,通過繼承可以很方便地實現(xiàn)應用的擴展和已有代碼的重復使用,在保證質(zhì)量的前提下提高開發(fā)效率,也使得面向?qū)ο蟮拈_發(fā)方法與軟件工程的一個新方法——快速原型法能夠很好地結合在一起,形成一種更有效、更實用的軟件開發(fā)技術。面向過程的程序設計將問題分解成若干個成為模塊的功能塊根據(jù)模塊功能設計一系列用于存儲數(shù)據(jù)的數(shù)據(jù)結構編寫一些過程(函數(shù))對數(shù)據(jù)進行操作(算法)將這些過程組成程序核心:功能的分解.13舉例(1):設計一個銀行系統(tǒng)。該系統(tǒng)允許顧客開設不同類型的銀行帳戶,其中包括現(xiàn)金帳戶,支票帳戶和貸款帳戶,同時允許顧客存款,取款和轉(zhuǎn)帳。14.15分解模塊:存款----MakeDeposit取款----WithDraw轉(zhuǎn)帳----Transfer

2.建立數(shù)據(jù)結構:structaccount{charname;unsignedlongaccountID;floatbalance;floatinterestYTD;characcountType};3.編寫實現(xiàn)過程的程序4.組成系統(tǒng)面向過程程序設計的缺陷.16程序員和顧客的關注點分離數(shù)據(jù)結構與過程分離

顧客關心的是他的帳戶還剩多少錢,利息多少,錢在銀行是否安全,而對存錢,取錢等過程不感興趣.

程序員關心的是如何編寫存款,取款代碼,如何在一建立的數(shù)據(jù)機構中填寫數(shù)據(jù)并管理數(shù)據(jù),而對具體的數(shù)據(jù)不感興趣.面向過程程序設計的缺陷.17程序員和顧客的關注點分離軟件系統(tǒng)中顧客與他們的銀行帳號分離數(shù)據(jù)結構與過程分離

顧客與自己的帳號聯(lián)系并不緊密,系統(tǒng)中顧客只不過是一串字符或數(shù)字,而帳號只不過是一個整數(shù),因而不考慮誰擁有這個帳號,帳號里的內(nèi)容是什么等,這與實際情況不符.面向過程程序設計的缺陷.18程序員和顧客的關注點分離軟件系統(tǒng)中顧客與他們的銀行帳號分離數(shù)據(jù)安全性差數(shù)據(jù)結構與過程分離

程序員可以方便地修改帳目,因為對他來說只不過是修改數(shù)據(jù)結構中的數(shù)字.面向過程程序設計的缺陷.19程序員和顧客的關注點分離軟件系統(tǒng)中顧客與他們的銀行帳號分離數(shù)據(jù)安全性差要求變化時,軟件維護開銷大數(shù)據(jù)結構與過程分離

對每種帳戶類型,程序處理的方式不會完全相同.如果新增加一種帳戶類型,必須重新編寫程序代碼.面向?qū)ο蟮某绦蛟O計.20與面向過程的程序設計的不同點:重點是數(shù)據(jù)而不是過程數(shù)據(jù)和定義在它上面的操作構成一個整體數(shù)據(jù)本身不能被外部程序和過程直接存取

面向?qū)ο蟮某绦蛟O計是一種新的程序設計范型.面向?qū)ο蟮某绦虻闹饕Y構特點是:一、程序一般由類的定義和類的使用兩部分組成,在主程序中定義各對象并規(guī)定它們之間傳遞消息的規(guī)律;二、程序中的一切操作都是通過向?qū)ο蟀l(fā)送消息來實現(xiàn)的,對象接到消息后,啟動有關方法完成相應的操作。什么是類類實際上是對某種類型的對象定義變量和方法的原型。

在現(xiàn)實世界中,你經(jīng)??吹较嗤愋偷脑S多對象。比如,你的自行車只是現(xiàn)實世界中許多自行車的其中一輛。使用面向?qū)ο蠹夹g,我們可以說你的自行車是自行車對象類的一個實例。通常,自行車有一些狀態(tài)(當前檔位、兩個輪子等等)以及行為(改變檔位、剎車等等)。但是,每輛自行車的狀態(tài)都是獨立的并且跟其它自行車不同。當廠家制造自行車的時候,廠商利用了自行車共有的特性來根據(jù)相同的藍圖制造許多自行車。如果制造一輛自行車就要產(chǎn)生一個新藍圖,那效率就太低了.21什么是類.22

在面向?qū)ο筌浖?,同樣地,可以讓相同種類地許多對象來共有一些特性,比如矩形、雇員記錄、視頻夾等等。就象自行車制造商人,你可以利用相同種類的對象是相似的事實并且你可以為這些對象創(chuàng)建一個藍圖。對對象的軟件藍圖叫做類。自行車的類需要定義一些實例變量來包括當前檔位、當前速度等等。這個類將為實例方法定義和提供實施方法,它允許騎車者改變檔位、剎車以及改變腳踏板的節(jié)奏,如圖所示:對象和類一個對象是由描述其屬性的數(shù)據(jù)和定義在其上面的一組操作組成的實體,是數(shù)據(jù)單元和過程單元的組合體;類是對一組對象的抽象,這組對象具有相同的屬性結構和操作行為,在對象所屬的類中要說明這些結構和行為。類也可以看作是一種新的數(shù)據(jù)類型。一個對象是類的一個實例。有了類,才可以創(chuàng)建對象。類不能是它們描述的對象本身,類是同一種對象的集合的抽象,即,同一類對象的變量和方法的原型。

.23.24classBankAccount{ privatefloatbalance; privatefloatintetestYTD; privatestringowner; privateintaccount_number; public voidMakeDeposit(floatamount); public floatWithDraw(floatamount); public booleanTransfer(BankAccountto,floatamount);}

實例成員和類成員

實例變量和實例方法是實例(對象)中的成員,類變量和類方法是類中的成員。實例變量與類變量每次創(chuàng)建一個類的對象的時候,系統(tǒng)為它創(chuàng)建了類的每一個實例變量的副本。我們就可以從對象中訪問該實例變量。類變量跟實例變量是不一樣的,不管為一個類創(chuàng)建了多少個對象,系統(tǒng)只為每個類變量分配一次存儲空間。系統(tǒng)為類變量分配的內(nèi)存是在它第一次調(diào)用類的時候完成的。所有的對象共享了類變量的相同副本??梢酝ㄟ^對象或者通過類本身來訪問類變量。.25實例成員和類成員

實例變量和實例方法是實例(對象)中的成員,類變量和類方法是類中的成員。實例方法與類方法實例方法對當前對象的實例變量進行操作,而且可以訪問類變量。而類方法只可以操作類變量,不能訪問定義在類中的實例變量,除非它們創(chuàng)建一個新的對象并通過對象來訪問它們。同樣,類方法可以在類中被調(diào)用,并不一定必須建立一個實例來調(diào)用一個類方法。.26三個重要的概念繼承抽象與封裝多態(tài).27繼承在面向?qū)ο蟮募夹g中,繼承是與傳統(tǒng)方法不同的一個最具特色的方法。它是面向?qū)ο蟮某绦蛑袃蓚€類之間的一種關系,即一個類可以從另一個類(即它的父類)繼承狀態(tài)和行為。被繼承的類也可稱為超類(父類),繼承父類的類稱為子類。繼承為組織和構造軟件程序提供了一個強大而自然的機理。.28.29自行車的父類與子類關系

繼承.30

一個父類可以同時擁有多個子類,這時這個父類實際上是所有子類的公共變量和方法的集合,每一個子類從父類中繼承了狀態(tài)。例如,山地自行車、賽車以及雙人自行車共享了這些狀態(tài):雙輪、腳踏、速度等。同樣,每一個子類繼承了父類的方法,山地自行車、賽車以及雙人自行車共享這些行為:剎車、改變腳踏速度等等。然而,子類可以不受到父類提供的狀態(tài)和行為的限制。除了從父類繼承而來的變量和方法之外,子類可以增加自己的變量和方法。比如,雙人自行車有兩個座位,這是它的父類沒有的。

繼承繼承子類也可以改變繼承來的變量和方法,也即可以重載繼承的方法,并且為這些方法提供特殊執(zhí)行方法。比如,如果有一個山地自行車有額外的齒輪設置,就可以重載設置齒輪方法來使騎車者可以使用這些新的齒輪。

此外,類是逐級繼承的,繼承的層次不能限制,繼承樹或者類的分級結構可以很深。.31抽象與封裝面向?qū)ο蟮能浖_發(fā)方法的主要特點之一,就是采用了數(shù)據(jù)抽象的方法來構建程序的類、對象和方法。數(shù)據(jù)抽象是把系統(tǒng)中需要處理的數(shù)據(jù)和在這些數(shù)據(jù)上的操作結合一起,根據(jù)功能、性質(zhì)和用途等因素抽象成不同的抽象數(shù)據(jù)類型,每個抽象數(shù)據(jù)類型既包含了數(shù)據(jù),又包含了針對的這些數(shù)據(jù)的授權操作。.32抽象抽象與封裝將數(shù)據(jù)結構和作用于數(shù)據(jù)結構上的操作組成一個實體,數(shù)據(jù)的表示方式和對數(shù)據(jù)的操作細節(jié)被隱藏起來,用戶通過操作接口對數(shù)據(jù)進行操作。對于用戶來說,只知道如何通過操作接口對該數(shù)據(jù)進行操作,而不知道是如何做的,也不知道數(shù)據(jù)是如何表示的,這就是數(shù)據(jù)的封裝。封裝是一個與抽象密切相關的重要特性。抽象和封裝是互補的,好的抽象有利于封裝,封裝的實體則幫助維護抽象的完整性。.33封裝多態(tài)性在面向?qū)ο蟪绦蛟O計中,多態(tài)性又是一個重要特性。面向系統(tǒng)的多態(tài)性是指不同的對象收到相同的消息時產(chǎn)生多種不同的行為方式。多態(tài)的實現(xiàn)是由消息的接收者確定一個消息應如何解釋,而不是由消息的發(fā)送者確定,消息的發(fā)送者只需知道另外的實例可以執(zhí)行一種特定操作即可,這一特性對于可擴充系統(tǒng)的開發(fā)是特別有用的工具。按這種方法可開發(fā)出易于維護、可塑性好的系統(tǒng)。例如,如果希望加一個對象到類中,這種維護只涉及到新對象,而不涉及給它發(fā)送消息的對象。.34面向?qū)ο蟪绦蛟O計的語言支持對象的概念(包括對象所有的特性,如封裝等)要求對象屬于類提供繼承機制.35JAVA語言

C++,Dephi,Perl,ObjectC等面向?qū)ο蟮某绦蛟O計語言實際上是一種混合型語言,是過程式語言加面向?qū)ο蟮臄U展。支持對象的使用,但同時也支持過程式編程。編程者可能有意無意使用一些過程式編程的特征。JAVA是純面向?qū)ο蟮木幊陶Z言。有助于理解面向?qū)ο蟮母拍睢?36何謂JAVASun公司“JAVA白皮書”中對JAVA的定義:Java,Asimple,object-oriented,distributed,interpreted,robust,secure,architecture-neutral,portable,high-performance,multi-threaded,anddynamiclanguage.

即,Java是一種簡單、面向?qū)ο?、分布式、解釋型、健壯、安全、體系結構中立、可移植、高性能、多線程和動態(tài)的語言。.37Oak—JAVA原型的問世1991年,由Sun公司的PatrickNawghton,JameGosling以及MikeSheridan等人組成的開發(fā)小組,開始了代號為“Green”的項目的研制。Green項目的目標是要研制一種開發(fā)家用電器的邏輯控制系統(tǒng),以實現(xiàn)對家用電器的集成控制。在考慮這個產(chǎn)品時,Gosling決定自行開發(fā)一種新的語言,并把該語言命名為“Oak”。但是,這個技術上非常成功的產(chǎn)品,當時并未獲得商業(yè)上的成功。

.38與WWW的結合由于Internet的迅猛發(fā)展,WWW以極快的速度風靡全球。Green項目小組發(fā)現(xiàn)他們的新型編程語言Oak比較適合于Internet程序的編寫,于是他們結合WWW的需要,對Oak進行改進和完善,并獲得了極大的成功。1995年1月,Oak被更名為Java。這個名字的產(chǎn)生,既不是根據(jù)語言本身的特色來命名,也不是由幾個英文單詞的首字母拼成,更不是由人名或典故而來,而是來自于印度尼西亞有一個盛產(chǎn)咖啡的島嶼,中文名叫爪哇,意為世人端上一杯熱咖啡。許多程序設計師從所鐘愛的熱騰騰的香濃咖啡中得到的靈感,因而熱騰騰的香濃咖啡也就成為Java語言的標志。.39InternetPlay—改變JAVA命運的策略Sun公司創(chuàng)始人之一的BillJoy改變了JAVA的命運.他認為Internet加上當時正越來越受人歡迎的WWW肯定可以挽救技術上本來就很成功的JAVA語言.這種挽救不僅僅是技術上的結合,它還有另一層含義,就是“InternetPlay”----一種依靠讓用戶免費使用來占領市場份額的策略.于是,他力排眾議,促成JAVA在Internet上免費發(fā)布..40JAVA的廣泛應用1995年5月23日Java正式公布,以后人們對Java的興趣和重視證明了這項技術將是主宰網(wǎng)絡計算的未來:1995年一些著名的公司都紛紛購買語言使用權,如:IBM,Microsoft,Netscape,Novell,Apple,DEC,SGI等;1996年Java應用軟件紛紛問世,贏得軟件工業(yè)界的廣泛支持。1997年Java技術用于網(wǎng)絡計算,從界業(yè)的事實標準走向法律標準。.41JAVA語言的特色1.簡單性語言的設計者盡量把語言的構造規(guī)模變小,通過提供最基本的方法來完成指定的任務,使用者只需要理解一些基本概念,就可以編出合適的應用程序。Java取消了許多語言中十分繁瑣和難以理解的內(nèi)容,例如C++的指針、運算符重載、類的多繼承等,并且通過實現(xiàn)自動垃圾收集,大大減化了程序設計者的內(nèi)存管理工作。Java的外觀上讓大多數(shù)程序員感到很熟悉,便于學習。同時Java的編譯器也很小,便于在各種機型上實現(xiàn)。.42JAVA語言的特色2.面向?qū)ο竺嫦驅(qū)ο笫荍ava最重要的特性。它不支持類似C語言那樣的面向過程的程序設計技術。語言的任何方面都是基于消息或基于對象的;所有數(shù)據(jù)類型,無論簡單還是復雜,均為對象類。.43JAVA語言的特色3.分布性分布式包括數(shù)據(jù)分布和操作分布。數(shù)據(jù)分布是指數(shù)據(jù)可以分散存放于網(wǎng)絡上的不同主機,操作分布則指把計算分散由不同主機處理。JAVA支持WWW客戶機/服務器計算模式,因此它可以支持這兩種分布性。利用Java來開發(fā)分布式的網(wǎng)絡程序是Java的一個主要應用之一。.44JAVA語言的特色4.健壯性和安全性Java采取了3個措施:不支持指針類型,一切對內(nèi)存的訪問都必須通過對象的實例來實現(xiàn)。這樣能夠防止他人使用欺騙手段訪問對象的私有成員,也能夠避免指針操作中容易產(chǎn)生的錯誤。提供數(shù)組下標的檢查機制,從而使黑客們無法構造出類似C所支持的那種指針。提供了自動內(nèi)存管理機制,即自動的內(nèi)存垃圾搜集程序。此外,Java有多個階層的互鎖保護措施,能有效地防止病毒侵入和蓄意的破壞行為。.45JAVA語言的特色5.體系結構中立

Java編譯器能夠產(chǎn)生一種與計算機體系結構無關的字節(jié)指令(bytecode),只要安裝了Java虛擬機,Java就可以在相應的處理機上執(zhí)行。.46JAVA語言的特色6.可移植性Java具有與平臺無關的特性。不僅開發(fā)的源代碼可以移植,甚至經(jīng)過編譯后形成的二進制代碼也同樣可以移植。任何一臺機器,只要配備了JAVA解釋器,就可以運行JAVA二進制代碼。JAVA采用的是國際標準(IEEE)的數(shù)據(jù)類型。JAVA的數(shù)據(jù)類型在任何機器上都是一致的,不支持特定于具體硬件的數(shù)據(jù)類型。.47JAVA語言的特色7.解釋型語言

Java解釋能直接在任何機器上執(zhí)行Java字節(jié)碼,字節(jié)碼本身帶有許多編譯信息,使得連接過程更加簡單。.48JAVA語言的特色8.高效性JAVA提供了對多線程的支持。首先,它的環(huán)境本身是多線程的,它可以利用系統(tǒng)的空閑時間來執(zhí)行諸如必要的垃圾清楚和一般性的系統(tǒng)維護等操作。其次,它還提供多線程的語言級支持,使的程序員能方便地寫出多線程應用程序,提高程序的執(zhí)行效率。Java的字節(jié)碼能夠迅速地轉(zhuǎn)換成機器碼,從而可以充分地利用硬件平臺資源,得到較高的整體性能。.49JAVA語言的特色9.多線程機制

Java具有多線程機制,這使得應用程序能夠并行地執(zhí)行。它的同步機制也保證了對共享數(shù)據(jù)的共享操作,而且線程具有優(yōu)先級的機制,有助于分別使用不同線程完成特定行為,也提高了交互的實時響應能力。.50JAVA語言的特色10.動態(tài)性Java具有“滯后聯(lián)編”機制。JAVA語言的所有類是在運行過程中動態(tài)裝載的。因此,可以在分布式環(huán)境中動態(tài)地維護應用程序及其類庫之間的一致性。這樣,即使類庫升級后,相應的應用程序也不必重新編譯,也一樣利用升級后類庫的新增功能。.51JAVA語言的特色.52JAVA語言的特色.53建立JAVA開發(fā)環(huán)境(1)下載JAVA開發(fā)工具集JDK

網(wǎng)址:

/downloads/index.html.7建立JAVA開發(fā)環(huán)境(2)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論