[發(fā)明專利]反射場景下確定類重載方法的方法及裝置有效
| 申請?zhí)枺?/td> | 201610797536.X | 申請日: | 2016-08-31 |
| 公開(公告)號: | CN106909417B | 公開(公告)日: | 2020-04-14 |
| 發(fā)明(設計)人: | 趙正邦;呂仁琦;金勇;武嚴嚴 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 北京同立鈞成知識產權代理有限公司 11205 | 代理人: | 楊澤;劉芳 |
| 地址: | 開曼群島大開曼*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 反射 場景 確定 重載 方法 裝置 | ||
1.一種反射場景下確定類重載方法的方法,其特征在于,包括:
根據外部入參所指定的方法名,確定類內所有同名方法;所述同名方法具有與所述外部入參所指定的方法名相同的方法名稱;
若同名方法的個數多于一個,獲取所述外部入參與每個所述同名方法間的繼承關系;
根據所述繼承關系,確定每個所述同名方法相對于所述外部入參的匹配度;
根據匹配度結果,在多個同名方法中確定所述外部入參的類重載方法;
其中,所述根據所述繼承關系,確定每個所述同名方法相對于所述外部入參的匹配度,包括:
根據所述繼承關系,確定每個同名方法的方法向量;
確定每個所述方法向量的模值,根據所述模值的大小確定每個所述同名方法相對于所述外部入參的匹配度。
2.根據權利要求1所述的方法,其特征在于,所述若同名方法的個數多于一個,獲取所述外部入參與每個所述同名方法間的繼承關系,包括:
將每個所述同名方法內的每個形參與所述外部入參內的每個實參進行比較,確定所述外部入參與每個所述同名方法間的繼承關系。
3.根據權利要求2所述的方法,其特征在于,所述將每個所述同名方法內的每個形參與所述外部入參內的每個實參進行比較,確定所述外部入參與每個所述同名方法間的繼承關系,包括:
根據所述同名方法內每個形參的位置先后順序,確定所述外部參數中的每個實參與對應位置處的同名方法中的每個形參之間的繼承層數;
根據所述繼承層數,確定所述外部入參與每個所述同名方法間的繼承關系。
4.根據權利要求3所述的方法,其特征在于,所述根據所述繼承層數,確定所述外部入參與每個所述同名方法間的繼承關系,包括:
若所述外部參數中的至少一個實參與所述同名方法對應位置處的形參之間不存在繼承層數,確定所述外部入參與所述同名方法之間不存在繼承關系;
若所述外部參數中的每個實參與所述同名方法對應位置處的每個形參之間存在繼承層數,確定所述外部入參與所述同名方法之間存在繼承關系。
5.根據權利要求1所述的方法,其特征在于,所述根據所述繼承關系,確定每個同名方法的方法向量,包括:
根據每個所述同名方法內的形參的參數個數,確定每個同名方法的方法向量的向量維數;
根據每個位置相互對應的實參與形參之間的繼承層數,確定每個方法向量中每一維向量元素的元素值。
6.根據權利要求3所述的方法,其特征在于,若位置相互對應的實參與形參之間沒有繼承關系,則確定所述同名方法不是所述外部入參的類重載方法。
7.根據權利要求5所述的方法,其特征在于,所述根據每個位置相互對應的實參與形參之間的繼承層數,確定每個方法向量中每一維向量元素的元素值,包括:
若所述位置相互對應的實參與形參之間沒有繼承關系,確定所述實參與形參之間的繼承層數為一預設無效數值;
以所述預設無效數值作為與所述形參對應維的向量元素的元素值;
相應的,所述根據所述繼承關系,確定每個所述同名方法相對于所述外部入參的匹配度,包括:
根據所述預設無效數值,確定所述方法向量的模值為極大值;
相應的,所述根據匹配度結果,在多個同名方法中確定所述外部入參的類重載方法,包括:
根據所述極大值的模值,確定具有所述極大值的同名方法不是所述外部入參的類重載方法。
8.根據權利要求5所述的方法,其特征在于,所述根據每個位置相互對應的實參與形參之間的繼承層數,確定每個方法向量中每一維向量元素的元素值,包括:
若所述位置相互對應的實參與形參之間存在繼承關系,確定所述實參與形參之間的繼承層數;
以所述繼承層數的數值作為與所述形參對應維的向量元素的元素值。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610797536.X/1.html,轉載請聲明來源鉆瓜專利網。





