·½·¨¶à̬ÓëDuck typing£»C#Ö®×¾ÁÓÓëF#Ö®ÓÅÑÅ
ÎÄ / À£¨¹âÓî¹ãÕ꣩
·½·¨¶à̬ÓëÀàÐͶà̬
Á˽â OOP µÄͬѧ¶ÔÀàÐͶà̬¶¼ºÜÊìϤÁË¡£»°Ëµ£¬ÀàÐͶà̬֮¶à̬±ãÌåÏÖÔÚ·½·¨ÉÏ£¬ÄÇ·½·¨¶à̬ÓÖÊÇÂïÍæ¶ù£¿ÀàÐͶà̬֮ÀàÐÍÖ¸µÄÊǶÔÏñµÄÀàÐÍ£¬Æä·½·¨ÊÇÊܶÔÏñÔ¼ÊøµÄ¡£·½·¨¶à̬±ãÊDz»ÊܶÔÏñÀàÐÍÔ¼ÊøµÄ¶à̬¡£¾ßÌåÇø±ðÔÚ£º
·½·¨¶à̬ÎÞÐè¼Ì³Ð£»ÀàÐͶà̬±ØÐëʵÏÖ½Ó¿Ú»òÀà¼Ì³Ð¡£
·½·¨¶à̬²»¹ÜÄãÊÇË£¬Ö»ÔÚºõÄãÄܸÉÂÀàÐͶà̬½²¾¿Äã³ö×ÔºÎÃźÎÅÉ¡£
·½·¨¶à̬µÄ¶ÔÏñ¼æÈÝÐÔÖ»ÐèÆäʵÏÖÔËÐÐÆÚ±»Êµ¼Êµ÷Óõķ½·¨²¿·Ö£»ÀàÐͶà̬µÄ¶ÔÏñ¼æÈÝÐÔÒªÇó A is-a B£¬Ò²¼´²»¹ÜÓõÃ×ÅÓò»×Å£¬Ö»ÒªÄã°ÝÁËʦ¸µ£¬¾ÍµÃÈ«²¿ÊµÏÖ¡£
Duck typing Óë·½·¨¶à̬
Duck typing ÊÇÖÖ¶¯Ì¬ÓïÑԵijÌÐòÉè¼Æ·ç¸ñ£¬ÓÃÒÔʵ¼ù·½·¨¶à̬¡£¸ÅÄîÌá³öÕß James Whitcomb Riley ͬѧÈçÊÇ˵£º
µ±¿´µ½Ò»Ö»Äñ×߯ðÀ´ÏñѼ×Ó£¬ÓÎÆðÓ¾À´ÏñѼ×Ó£¬½ÐÆðÀ´Ò²ÏñѼ×Ó£¬ÄÇÕâÖ»Äñ¾Í¿ÉÒÔ±»µ±×öѼ×Ó¡£
Duck typing ²¢²»¹Ø×¢¶ÔÏñµÄÀàÐÍ£¬¶øÊǹØ×¢Æä±íÏÖ¡£ÎÒÃÇÈÃij¸ö¶ÔÏñÈ¥“×ßÁ½²½¶ù”£¬È¥“ÓÎÁ½Ï”£¬È¥“½ÐÁ½Éù”£»Èô¶ÔÏñÎÞ·¨Íê³ÉÖ¸¶¨¶¯×÷£¬ÔòÅ׳öÔËÐÐʱÒì³£——ËüÊÇÔËÐÐÆÚ¼ì²éµÄ¡£Duck typing ûÓÐÈκξ²Ì¬¼ì²é£¬ÈçÀàÐͼì²é¡¢ÊôÐÔ¼ì²é¡¢·½·¨Ç©Ãû¼ì²éµÈ¡£Guido van Rossum ͬѧÈÏΪ£¬Duck typing µÄ°²È«ÐÔÒÀÀµÁ¼ºÃµÄÎĵµ¡¢ÇåÎúµÄ´úÂëºÍÍ걸µÄ²âÊÔ¡£¾ÙÒ»¸ö Python ÓïÑÔµÄÀý×Ó£º
ͼһ
´úÂëÑÔ¼òÒâêࡣѼ×ÓºÍÈËÁ½ÖÖ¶¯Îï¶¼»á Quack£¬ÓÚÊǾù¿É´«Èë CheckAsDuck ·½·¨´¦Àí¡£CheckAsDuck Ö»¹ÜѾ»á²»»áѼ½Ð£¬²Å²»¹ÜѾÊÇʲô¶«Î÷¡£¶øÕâÖÖ×ö·¨ÔÚ OOP ˼ÏëÀïÊDz»¿ÉÀíÓ÷µÄ¡£
Duck typing Òý·¢µÄÑÏÖØÎÊÌâ
Duck typing ±íÏÖÁ˶¯Ì¬ÓïÑԵijÌÐòÉè¼ÆË¼Ï룬ÆäÓ뾲̬ÓïÑÔÇ¿µ÷µÄÀàÐͼì²é²»Í¬Ö®´¦ÔÚÓÚ£º¶¯Ì¬ÓïÑÔ¼ÙÉèÄã»á×öij¸ö¶¯×÷£¬ÔËÐÐʱ¿ÉÄܻᷢÏÖÄãÆäʵ×ö²»À´£»¾²Ì¬ÓïÑÔ±ØÐëÔËÐÐǰ¾ÍµÃÈ·¶¨ÄãÄÜ·ñ×öµÃÀ´¡£Duck typing ¸üÏñÊÇÖÖÐÒ飬ÌåÏÖ×Å¿ª·ÅÓë×ÔÓÉ——ÎÒÃÇ»¶ÓÄãÀ´²ÎÓ룬ϣÍûÄãÄÜ×ñÊØ±Ë´ËµÄÐÔ¼£»ÈôÄãÎ¥±³»òûÄÜÍê³ÉÖ¸¶¨°²ÅÅ£¬´ú¼Û¾ÍÊÇÔËÐÐʱÒì³£¡£¶ø¾²Ì¬ÀàÐͼì²é¸üÏñÊÇÖÖÔ¼Êø£¬¼ÜÁ˵ÀÃż÷¶ù——Ïë½øÀ´£¿ÏÈ¿´×Ô¼º¹»²»¹»¸ñ¶ù£¡
¿ª·ÅÓë×ÔÓÉ
Ïà¹ØÎĵµ£º
ÔÚasp.net開發ÖУ¬經³£會Óõ½áą́ºÍǰ̨µÄ½»»¥£¬¾Í´Ë總結ÁËÒ»點c#ºÍjavascriptÏ໥²Ù×÷µÄ·½·¨
¡¡¡¡1.ÔÚáą́c#´ú碼ÖÐ調ÓÃjacascriptµÄ·½·¨
¡¡¡¡javascript´ú碼£º
¡¡¡¡<script type="text/javascript" language="javascript">
¡¡¡¡function test()
¡ ......
ÎÄÕÂÀ´Ô´£ºIT¹¤³Ì¼¼ÊõÍø http://www.systhinker.com/html/43/n-11643.html
ÓõÄÊÇÒ»Öֺܱ¿µÄ·½·¨£¬µ«¿ÉÒÔ°ïÖú³õѧÕßÁ˽â·ÃÎÊXML½ÚµãµÄ¹ý³Ì¡£
ÒÑÖªÓÐÒ»¸öXMLÎļþ£¨bookstore.xml£©ÈçÏÂ:
<?xml version="1.0" encoding="gb2312"?>
<bookstore>
<book genre="fantasy" ISBN="2-3631-4">
......
½ñÌìдһ¸öÉÌÆ·µÄÐ޸ŦÄÜʱÓöµ½µÄÎÊÌâ
ÉÌÆ·ÖÐÖØÁ¿ weight µÄÊý¾Ý¿â(SQL Server2005)ÀàÐͶ¨ÒåΪ float
ÔÚmappings ÖÐת»»Îªc#ÀàÐ͵ÄÒ»¾äΪ
<result property="Goods_Weight" column="Goods_Weight" type="float" dbType="float"/>
°´Àí˵Õâ¸ö float ÊÇÒ»ÑùµÄ£¬×ª»»ÍêÈ«²»»á³öÏÖÎÊÌ⣬
ʵ¼Ê³ÌÐòÔËÐÐʱ£¬ÏµÍ³±¨´í
......
xmlpost by HttpWebRequest:
protected string PostXmlToURL(string url,string data)
{
HttpWebRequest hwr = (HttpWebRequest)HttpWebRequest.Create(url);
hwr.Method = "POST";
Stream stream = hwr.GetRequestStream();
StreamWri ......
using System;
using System.Collections;
using System.ComponentModel;
using System.Web;
using System.Web.SessionState;
using System.Timers;
using System.Data;
using System.Data.SqlClient;
namespace SMS_joke
{
/// <summary>
/// Global µÄժҪ˵Ã÷¡£
/// </summary>
public class ......