·½·¨¶à̬Óë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Öе¼³öExeclµÄ·½·¨£º
ÔÚasp.netÖе¼³öExeclÓÐÁ½ÖÖ·½·¨£¬Ò»ÖÖÊǽ«µ¼³öµÄÎļþ´æ·ÅÔÚ·þÎñÆ÷ij¸öÎļþ¼ÐÏÂÃæ£¬È»ºó½«ÎļþµØÖ·Êä³öÔÚä¯ÀÀÆ÷ÉÏ£»Ò»ÖÖÊǽ«ÎļþÖ±½Ó½«ÎļþÊä³öÁ÷д¸øä¯ÀÀÆ÷¡£ÔÚResponseÊä³öʱ£¬t·Ö¸ôµÄÊý¾Ý£¬µ¼³öexeclʱ£¬µÈ¼ÛÓÚ·ÖÁУ¬nµÈ¼ÛÓÚ»»ÐС£
1¡¢½«Õû¸öhtmlÈ«²¿Êä³öexecl
´Ë·¨½«htmlÖÐËùÓеÄÄÚÈÝ£ ......
/// <summary>
/// ¸ù¾ÝÖ¸¶¨²ÎÊý·µ»ØBitMap¶ÔÏó
/// ÒýÓÃÈçÏ£º
/// using System.Drawing;
/// µ÷ÓÃÀý×ÓÈçÏ£º
......
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 ......
µ±ÔÚC#ÓïÑÔÖУ¬Á¬½ÓsqlÊý¾Ý¿âµÄʱºò£¬³£Óõ½sqlconnection½¨Á¢ÓëÊý¾Ý¿âµÄÁ¬½Ó¡£ Óï·¨ÈçÏ£º
String sqlcon = "***";//ÕâÀïÊÇÒ»¸ö×Ö·û´®£¬¾ßÌå¸úÊý¾Ý¿âµÄÑéÖ¤·½Ê½Óйء£
//sql server Éí·ÝÑéÖ¤ Á¬½Ó×Ö·û´®
private string ConnstrSqlServer = "server=·þÎñÆ÷Ãû³ ......