Java介面的方法覆写.PPT

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java介面的方法覆写

Java2 過載與多型 ShengMinMa Outline 方法的過載 多型的基礎 多型與類別 多型與介面 方法的過載 過載是同名的方法,物件一接收到的訊息來執行不同的方法! 類別方法的過載 Java的方法在同一個類別允許擁有兩個以上的同名方法,只是方法傳遞的參數個數或資料型態的不同! static int square(int no) - 傳入值為整數,傳回值與過載沒關係! static double square(double no) -傳入值為雙精浮點數! static int getmax( int a , int b ) -傳入引數為兩個 Static int getmax( int a , int b , int c ) -傳入引數為三個 因傳入值型態不同所以同名過載! 如範例 ch11-1-1.java 方法的過載 續一 成員方法的過載 在以類別作為資料型態中的成員方法,同樣提供過載。 Class Date { Public void setDate(int day, int month , int year ) {…;} Public void setDate(int day, int month ) {…;} } 上述類別中的成員方法過載是依據參數個數來做選擇 如範例 Ch11_1_2.java 方法的過載 續二 建構子的過載 Java類別宣告的建構子也支援過載,可以擁有多個同名的建構子方法。 Class Date { Public Date( ) {…} Public Date( int d , int m , int y ) {…} } 上述建構子過載是依據參數個數來做選擇 如範例 Ch11_1_3.java 方法的過載 續二 this關鍵字與過載建構子 使用this關鍵字可參考物件本身的副本方法和變數 class Date { Public Date() { this(1,1,2103);} Public Date(int d) { this(d,1,2103);} Public Date(int d, int m) {this(d,m,2103);} Public Data(int day , int month , int year ) { This.day=day; this.month=month; this.year=year; } } 如範例Ch11_1_4.java 多型的基礎 【多型】(Polymorphism)可使用同名方法,就可以處理不同資料型態的物件,產生不同的操作。 物件導向的過載與多型機制是架構在訊息和物件的【靜態連結】與【動態連結】上。 靜態連結:訊息在編譯階段,就決定其送往的目標物件。 動態連結:訊息在執行階段,才決定其送往的目標物件。 多型實作的方式: 方法的過載:一種靜態連結的多型。 類別繼承的方法覆寫:繼承基礎類別覆寫同名的方法。 Java 介面的方法覆寫:同一物件擁有多種型態,或不同物件可以擁有相同介面型態。 多型與類別 使用抽象類別繼承來實現多型。 例如:建立shape抽象類別,其類別宣告如下。 如範例Ch11_3.java Abstract class Shape { public double x ; public double y ; public abstract void area(); } Class Circle extends Shape { … Public void area(); } Class Rectangle extends Shape { … Public void area(); } Class Triangle extends Shape { … Public void area(); } 多型與介面 使用Java介面方法來實現多型。 例如:建立Iarea介面,介面宣告如下。如範例Ch11_4.java Interface IArea { void area(); } class Circle implements IArea { … public void area() {…} } class rectangle implements IArea { … public void area() {…} } class Triangle implements IArea { … public void area() {…} } * * *

文档评论(0)

2105194781 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档