{"id":534,"date":"2025-05-24T21:21:32","date_gmt":"2025-05-24T13:21:32","guid":{"rendered":"https:\/\/reverieland.cn\/?p=534"},"modified":"2025-06-11T00:52:43","modified_gmt":"2025-06-10T16:52:43","slug":"c%e7%9f%a5%e8%af%86%e7%82%b9%e8%a1%a5%e5%85%85","status":"publish","type":"post","link":"https:\/\/reverieland.cn\/index.php\/534\/","title":{"rendered":"C#\u77e5\u8bc6\u70b9\u8865\u5145"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">1.\u4ec0\u4e48\u662f\u865a\u65b9\u6cd5\uff1f\u5b83\u548c\u62bd\u8c61\u65b9\u6cd5\u6709\u4ec0\u4e48\u4e0d\u540c\uff1f<\/h2>\n\n\n\n<p>\u5171\u540c\u70b9\uff1a<strong>\u90fd\u652f\u6301\u591a\u6001<\/strong>\u3001\u5728\u5b50\u7c7b\u4e2d\u90fd\u53ef\u4ee5\u8fdb\u884c\u91cd\u5199\u3001\u5fc5\u987b\u5728\u7c7b\u7684\u5185\u90e8\uff08\u4e0d\u80fd\u662fstatic\u7684\uff09<\/p>\n\n\n\n<p>\u4e0d\u540c\u70b9\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u5bf9\u6bd4\u9879<\/th><th><code>virtual<\/code> \u865a\u65b9\u6cd5<\/th><th><code>abstract<\/code> \u62bd\u8c61\u65b9\u6cd5<\/th><\/tr><\/thead><tbody><tr><td><strong>\u662f\u5426\u6709\u9ed8\u8ba4\u5b9e\u73b0<\/strong><\/td><td>\u2705 \u6709\u9ed8\u8ba4\u5b9e\u73b0\u3002<\/td><td>\u274c \u6ca1\u6709\u5b9e\u73b0\uff0c\u6d3e\u751f\u7c7b<strong>\u5fc5\u987b\u5b9e\u73b0<\/strong>\u3002<\/td><\/tr><tr><td><strong>\u662f\u5426\u5fc5\u987b\u88ab\u91cd\u5199<\/strong><\/td><td>\u274c \u53ef\u4ee5\u4e0d\u91cd\u5199\uff0c\u6d3e\u751f\u7c7b\u4e5f\u80fd\u7ee7\u627f\u4f7f\u7528\u3002<\/td><td>\u2705 <strong>\u5fc5\u987b\u91cd\u5199<\/strong>\uff0c\u5426\u5219\u7f16\u8bd1\u62a5\u9519\u3002<\/td><\/tr><tr><td><strong>\u6240\u5728\u7c7b\u662f\u5426\u53ef\u4ee5\u5b9e\u4f8b\u5316<\/strong><\/td><td>\u2705 \u6240\u5728\u7c7b\u53ef\u4ee5\u5b9e\u4f8b\u5316\uff08\u975e\u62bd\u8c61\u7c7b\uff09\u3002<\/td><td>\u274c \u6240\u5728\u7c7b\u5fc5\u987b\u662f\u62bd\u8c61\u7c7b\uff0c\u4e0d\u80fd\u5b9e\u4f8b\u5316\u3002<\/td><\/tr><tr><td><strong>\u7528\u9014\u573a\u666f<\/strong><\/td><td>\u63d0\u4f9b\u4e00\u4e2a\u53ef\u88ab\u8986\u76d6\u4f46\u975e\u5fc5\u987b\u8986\u76d6\u7684\u65b9\u6cd5\u3002<\/td><td>\u5f3a\u5236\u6d3e\u751f\u7c7b\u63d0\u4f9b\u7279\u5b9a\u884c\u4e3a\u7684\u5b9e\u73b0\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>public abstract class Animal\n{\n    public abstract void Speak();\n}\n\npublic class Dog : Animal\n{\n    public override void Speak()\n    {\n        Console.WriteLine(\"Woof\");\n    }\n}<\/code><\/pre>\n\n\n\n<p>\u62bd\u8c61\u65b9\u6cd5 <code>Speak()<\/code> \u6ca1\u6709\u5b9e\u73b0\uff0c\u6240\u6709\u975e\u62bd\u8c61\u6d3e\u751f\u7c7b<strong>\u5fc5\u987b<\/strong>\u91cd\u5199\u5b83\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2.\u63a5\u53e3\u53ef\u4ee5\u4f5c\u4e3a\u53c2\u6570\u4f20\u9012\u7ed9\u51fd\u6570\u5417<\/h2>\n\n\n\n<p>\u662f\u7684\uff0c<strong>\u63a5\u53e3\u5728C#\u4e2d\u5b8c\u5168\u53ef\u4ee5\u4f5c\u4e3a\u53c2\u6570\u4f20\u9012\u7ed9\u51fd\u6570<\/strong>\u3002\u8fd9\u662f\u63a5\u53e3\u6700\u5e38\u89c1\u548c\u6700\u5f3a\u5927\u7684\u7528\u9014\u4e4b\u4e00\uff1a\u5b83\u5141\u8bb8\u4f60\u4f20\u5165<strong>\u4efb\u4f55\u5b9e\u73b0\u4e86\u8be5\u63a5\u53e3\u7684\u5bf9\u8c61<\/strong>\uff0c\u5b9e\u73b0 <strong>\u677e\u8026\u5408<\/strong> \u548c <strong>\u591a\u6001\u6027<\/strong>\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public interface ILogger {\n    void Log(string message);\n}\n\npublic class ConsoleLogger : ILogger {\n    public void Log(string message) {\n        Console.WriteLine(\"Console: \" + message);\n    }\n}\n\npublic class FileLogger : ILogger {\n    public void Log(string message) {\n        \/\/ \u5047\u8bbe\u5199\u5165\u6587\u4ef6\n        Console.WriteLine(\"File: \" + message);\n    }\n}\n\npublic class Processor {\n    public void Process(ILogger logger) {\n        logger.Log(\"Processing started...\");\n    }\n}\n\nclass Program {\n    static void Main() {\n        Processor p = new Processor();\n\n        \/\/ \u4f20\u5165 ConsoleLogger \u5b9e\u4f8b\n        p.Process(new ConsoleLogger());  \/\/ \u8f93\u51fa\uff1aConsole: Processing started...\n\n        \/\/ \u4f20\u5165 FileLogger \u5b9e\u4f8b\n        p.Process(new FileLogger());     \/\/ \u8f93\u51fa\uff1aFile: Processing started...\n    }\n}\n<\/code><\/pre>\n\n\n\n<p><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">\u6ce8\uff1a\u63a5\u53e3\u7684\u7528\u6cd5\uff1a\u901a\u8fc7\u5b9e\u73b0\u63a5\u53e3\u7684\u7c7b\u6765\u4f7f\u7528\u63a5\u53e3\u65b9\u6cd5<\/mark><\/p>\n\n\n\n<p>\u4f60<strong>\u5fc5\u987b\u521b\u5efa\u4e00\u4e2a\u5b9e\u73b0\u4e86\u8be5\u63a5\u53e3\u7684\u7c7b\u7684\u5b9e\u4f8b<\/strong>\uff0c\u7136\u540e\u53ef\u4ee5\u901a\u8fc7\u8be5\u7c7b\u5bf9\u8c61\uff08\u6216\u63a5\u53e3\u5f15\u7528\uff09\u6765\u8c03\u7528\u63a5\u53e3\u4e2d\u5b9a\u4e49\u7684\u65b9\u6cd5\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3.\u5173\u952e\u5b57\u533a\u522b\uff1aabstract\u548cvirtual<\/h2>\n\n\n\n<p>\u5728<strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">\u62bd\u8c61\u7c7b<\/mark><\/strong>\u4e2d\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u4f60\u60f3\u8981\u7684\u884c\u4e3a<\/th><th>\u7528\u6cd5<\/th><\/tr><\/thead><tbody><tr><td>\u8ba9\u5b50\u7c7b<strong>\u5fc5\u987b<\/strong>\u5b9e\u73b0\u8fd9\u4e2a\u65b9\u6cd5<\/td><td>\u7528 <code>abstract<\/code><\/td><\/tr><tr><td>\u63d0\u4f9b\u4e00\u4e2a\u9ed8\u8ba4\u5b9e\u73b0\uff0c\u8ba9\u5b50\u7c7b<strong>\u53ef\u4ee5\u9009\u62e9<\/strong>\u662f\u5426\u91cd\u5199<\/td><td>\u7528 <code>virtual<\/code><\/td><\/tr><tr><td>\u4e0d\u60f3\u8ba9\u5b50\u7c7b\u6539\u8fd9\u4e2a\u65b9\u6cd5<\/td><td>\u666e\u901a\u65b9\u6cd5\uff08\u4e0d\u52a0\u4efb\u4f55\u5173\u952e\u5b57\uff09<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">4.Lambda\u8868\u8fbe\u5f0f<\/h2>\n\n\n\n<p>4.1 \u8bed\u6cd5\uff1a<strong>(\u53c2\u6570) =&gt; { \u8bed\u53e5\u5757 }<\/strong><\/p>\n\n\n\n<p>\u4f8b1\uff1a<strong>x =&gt; x * x  <\/strong>\u7b49\u6548\u4e8e <strong>(int x) =&gt; { return x * x; }<\/strong><\/p>\n\n\n\n<p>\u4f8b2\uff1a\u4e24\u4e2a\u53c2\u6570\u7684lambda\u8868\u8fbe\u5f0f  (x, y) =&gt; x + y<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>4.2 \u59d4\u6258\u548clambda\u8868\u8fbe\u5f0f\u7684\u914d\u5408\uff1a<\/p>\n\n\n\n<p>4.2.1 \u59d4\u6258\u7684\u5b9a\u4e49\uff1a\u59d4\u6258\u53ef\u4ee5\u7406\u89e3\u4e3a <strong>\u51fd\u6570\u7684\u5f15\u7528\u7c7b\u578b<\/strong>\u3002\u5b83\u53ef\u4ee5\u5b58\u50a8\u5bf9\u65b9\u6cd5\u7684\u5f15\u7528\uff0c\u5c31\u50cf\u53d8\u91cf\u53ef\u4ee5\u5b58\u50a8\u6570\u503c\u4e00\u6837\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u5b9a\u4e49\u4e00\u4e2a\u63a5\u6536int\uff0c\u8fd4\u56deint\u7684\u59d4\u6258\u7c7b\u578b\npublic delegate int MyDelegate(int x);\n\/\/ \u76ee\u6807\u65b9\u6cd5\npublic static int Square(int x) =&gt; x * x;\n\npublic static void Main()\n{\n    \/\/ \u521b\u5efa\u59d4\u6258\u5b9e\u4f8b\uff0c\u6307\u5411 Square \u65b9\u6cd5\n    MyDelegate del = Square;\n\n    int result = del(5); \/\/ \u8c03\u7528\u59d4\u6258\n    Console.WriteLine(result); \/\/ \u8f93\u51fa 25\n}<\/code><\/pre>\n\n\n\n<p>\u4e0a\u9762\u7684<strong>int Square(int x) =&gt; x * x<\/strong>\u662f\u8868\u8fbe\u5f0f\u4f53\u6210\u5458\uff08Expression-bodied member\uff09\uff0c\u7b49\u4ef7\u4e8e\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public static int Square(int x)\n{\n    return x * x;\n}<\/code><\/pre>\n\n\n\n<p>4.2.2 \u59d4\u6258+lambda\u8868\u8fbe\u5f0f\u4f8b\u5b50<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>MyDelegate del = x =&gt; x * x;\nConsole.WriteLine(del(6)); \/\/ \u8f93\u51fa 36\n<\/code><\/pre>\n\n\n\n<p>4.3 \u5e38\u7528\u7684\u5185\u7f6e\u59d4\u6258\u7c7b\u578b<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u59d4\u6258\u7c7b\u578b<\/th><th>\u7528\u6cd5\u8bf4\u660e<\/th><\/tr><\/thead><tbody><tr><td><code>Action<\/code><\/td><td>\u65e0\u8fd4\u56de\u503c<\/td><\/tr><tr><td><code>Func&lt;T&gt;<\/code><\/td><td>\u6709\u8fd4\u56de\u503c\uff08\u6700\u540e\u4e00\u4e2a\u7c7b\u578b\u662f\u8fd4\u56de\u7c7b\u578b\uff09<\/td><\/tr><tr><td><code>Predicate&lt;T&gt;<\/code><\/td><td>\u8fd4\u56de bool \u7684\u51fd\u6570<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><code>Func&lt;&gt;<\/code> \u662f C# \u63d0\u4f9b\u7684 <strong>\u5185\u7f6e\u59d4\u6258\u7c7b\u578b<\/strong>\uff0c\u7528\u4e8e\u8868\u793a\uff1a<strong>\u6709\u8fd4\u56de\u503c<\/strong>\u7684\u65b9\u6cd5\u6216 lambda \u8868\u8fbe\u5f0f\u3002<\/p>\n\n\n\n<p>\u8bed\u6cd5\uff1a  <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">Func&lt;\u53c2\u6570\u7c7b\u578b1, \u53c2\u6570\u7c7b\u578b2, \u2026, \u8fd4\u56de\u503c\u7c7b\u578b&gt; \u53d8\u91cf\u540d = lambda\u8868\u8fbe\u5f0f\u6216\u65b9\u6cd5;<\/mark><\/p>\n\n\n\n<p>\u4f8b\uff1a\u4e24\u4e2a\u53c2\u6570\uff0c\u4e00\u4e2a\u8fd4\u56de\u503c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Func&lt;int, int, int&gt; add = (a, b) =&gt; a + b;\nConsole.WriteLine(add(2, 3)); \/\/ \u8f93\u51fa 5\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">5.\u533f\u540d\u65b9\u6cd5\u548clambda\u8868\u8fbe\u5f0f\u7684\u5173\u7cfb<\/h2>\n\n\n\n<p>\u5728 C# \u4e2d\uff0c<strong>\u533f\u540d\u65b9\u6cd5\uff08Anonymous Methods\uff09<\/strong> \u662f\u4e00\u79cd\u6ca1\u6709\u540d\u79f0\u7684\u65b9\u6cd5\uff0c\u901a\u5e38\u7528\u4e8e\u5feb\u901f\u5b9a\u4e49\u59d4\u6258\u7684\u5185\u5bb9\uff0c\u7279\u522b\u662f\u5728\u9700\u8981\u4e34\u65f6\u3001\u5185\u8054\u903b\u8f91\u7684\u573a\u666f\u4e2d\u3002\u533f\u540d\u65b9\u6cd5\u662f\u5728 C# 2.0 \u4e2d\u5f15\u5165\u7684\uff0c\u540e\u6765\u88ab <strong>Lambda \u8868\u8fbe\u5f0f\uff08C# 3.0\uff09<\/strong> \u6240\u53d6\u4ee3\u6216\u7b80\u5316\u3002<\/p>\n\n\n\n<p>\u4e5f\u5c31\u662f\u8bf4\uff0clambda\u662f\u4e00\u79cd\u7b80\u6d01\u5730\u8868\u793a\u533f\u540d\u65b9\u6cd5\u7684\u8bed\u6cd5\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u5b9a\u4e49\u4e00\u4e2a\u59d4\u6258\u7c7b\u578b\ndelegate int MyDelegate(int x, int y);\n\nclass Program\n{\n    static void Main()\n    {\n        \/\/ \u4f7f\u7528\u533f\u540d\u65b9\u6cd5\u521b\u5efa\u59d4\u6258\u5b9e\u4f8b\n        MyDelegate add = delegate(int x, int y)\n        {\n            return x + y;\n        };\n\n        Console.WriteLine(add(3, 4)); \/\/ \u8f93\u51fa 7\n    }\n}\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>Func&lt;int, int&gt; anon = delegate(int i) \n{ \n i = i+1; \n return i; \n}; \n\/\/\u8f93\u51fa2 \nConsole.WriteLine(anon(1)); <\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">6. \u4ec0\u4e48\u662f\u95ed\u5305<\/h2>\n\n\n\n<p><strong>\u95ed\u5305<\/strong>\u662f\u6307 <strong>Lambda \u8868\u8fbe\u5f0f\u6216\u533f\u540d\u65b9\u6cd5\u4e2d\u5f15\u7528\u4e86\u5916\u90e8\u4f5c\u7528\u57df\u4e2d\u7684\u53d8\u91cf<\/strong>\uff0c\u8fd9\u4e9b\u53d8\u91cf\u4f1a\u968f\u7740 Lambda \u4e00\u8d77\u201c\u6253\u5305\u201d\u8fdb\u59d4\u6258\u4e2d\uff0c\u5ef6\u957f\u5176\u751f\u547d\u5468\u671f\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public static Func&lt;int, int&gt; CreateAdder(int y)\n{\n    return x =&gt; x + y; \/\/ y \u662f\u5916\u90e8\u53d8\u91cf\uff0c\u88ab\u95ed\u5305\u6355\u83b7\n}\n\nvar add5 = CreateAdder(5);\nConsole.WriteLine(add5(10)); \/\/ \u8f93\u51fa 15\n<\/code><\/pre>\n\n\n\n<p>\u8fd9\u91cc\u7684 <code>y<\/code> \u867d\u7136\u5b9a\u4e49\u5728 <code>CreateAdder<\/code> \u65b9\u6cd5\u4e2d\uff0c\u4f46\u5728 Lambda \u4e2d\u88ab\u4f7f\u7528\uff0c\u6240\u4ee5\u4f1a\u88ab\u201c\u6355\u83b7\u201d\uff0c\u5373\u4fbf\u65b9\u6cd5\u8fd4\u56de\u4e4b\u540e\uff0c<code>y<\/code> \u4ecd\u7136\u5b58\u5728\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>\u4f8b\u5b50\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>List&lt;Func&lt;int&gt;&gt; actions = new List&lt;Func&lt;int&gt;&gt;();\n\nfor (int i = 0; i &lt; 3; i++)\n{\n    actions.Add(() =&gt; i);\n}\n\nforeach (var act in actions)\n    Console.WriteLine(act()); \/\/ \u8f93\u51fa\u4ec0\u4e48\uff1f\n<\/code><\/pre>\n\n\n\n<p>\u89e3\u6790\uff1alambda\u8868\u8fbe\u5f0f&nbsp;<code>() =&gt; i<\/code>&nbsp;<strong>\u6355\u83b7<\/strong>\u4e86\u53d8\u91cf&nbsp;<code>i<\/code>\uff0c\u800c\u4e0d\u662f&nbsp;<code>i<\/code>&nbsp;\u7684\u503c\u3002\u7531\u4e8e&nbsp;<code>i<\/code>&nbsp;\u662f&nbsp;<code>for<\/code>&nbsp;\u5faa\u73af\u7684\u8fed\u4ee3\u53d8\u91cf\uff0c\u5b83\u5728\u5faa\u73af\u4e2d\u662f<strong>\u540c\u4e00\u4e2a\u53d8\u91cf<\/strong>\uff08\u6bcf\u6b21\u8fed\u4ee3\u4f1a\u66f4\u65b0\u503c\uff09\uff0c\u56e0\u6b64\u6240\u6709lambda\u8868\u8fbe\u5f0f\u90fd\u6355\u83b7\u4e86\u540c\u4e00\u4e2a&nbsp;<code>i<\/code>\u3002<\/p>\n\n\n\n<p>\u5b83\u6700\u540e\u503c\u53d8\u4e3a 3\uff0c\u6240\u4ee5\u6bcf\u4e2a lambda \u90fd\u8f93\u51fa 3\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">7.\u56de\u987e\uff1a\u91cd\u8f7d\u548c\u91cd\u5199\u7684\u533a\u522b<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. \u4f5c\u7528\u57df<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u91cd\u8f7d\uff08Overload\uff09<\/strong>\uff1a<br>\u53d1\u751f\u5728<strong>\u540c\u4e00\u4f5c\u7528\u57df<\/strong>\u5185\uff08\u5982\u540c\u4e00\u4e2a\u7c7b\u4e2d\u6216\u5168\u5c40\u4f5c\u7528\u57df\uff09\u3002<\/li>\n\n\n\n<li><strong>\u91cd\u5199\uff08Override\uff09<\/strong>\uff1a<br>\u53d1\u751f\u5728<strong>\u7ee7\u627f\u5173\u7cfb<\/strong>\u4e2d\uff0c\u6d3e\u751f\u7c7b\u5bf9\u57fa\u7c7b\u7684\u865a\u51fd\u6570\u8fdb\u884c\u91cd\u65b0\u5b9a\u4e49\u3002<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. \u51fd\u6570\u7b7e\u540d<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u91cd\u8f7d\uff08Overload\uff09<\/strong>\uff1a<ul><li>\u51fd\u6570\u540d\u76f8\u540c\uff0c\u4f46<strong>\u53c2\u6570\u5217\u8868\u5fc5\u987b\u4e0d\u540c<\/strong>\uff08\u53c2\u6570\u7c7b\u578b\u3001\u4e2a\u6570\u6216\u987a\u5e8f\u4e0d\u540c\uff09\u3002<\/li><li>\u8fd4\u56de\u7c7b\u578b\u53ef\u4ee5\u4e0d\u540c\uff0c\u4f46\u4ec5\u8fd4\u56de\u7c7b\u578b\u4e0d\u540c\u4e0d\u8db3\u4ee5\u6784\u6210\u91cd\u8f7d\u3002<\/li><\/ul><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>void print(int a);          \/\/ \u5408\u6cd5\u91cd\u8f7d\nvoid print(double a);       \/\/ \u5408\u6cd5\u91cd\u8f7d\nint print(int a);           \/\/ \u9519\u8bef\uff1a\u4ec5\u8fd4\u56de\u7c7b\u578b\u4e0d\u540c\uff0c\u65e0\u6cd5\u91cd\u8f7d<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u91cd\u5199\uff08Override\uff09<\/strong>\uff1a<ul><li>\u51fd\u6570\u540d\u3001\u53c2\u6570\u5217\u8868\u3001\u8fd4\u56de\u7c7b\u578b\u5fc5\u987b\u4e0e\u57fa\u7c7b\u865a\u51fd\u6570<strong>\u4e25\u683c\u4e00\u81f4<\/strong>\uff08\u534f\u53d8\u8fd4\u56de\u7c7b\u578b\u9664\u5916\uff09\u3002<\/li><li>\u57fa\u7c7b\u51fd\u6570\u5fc5\u987b\u58f0\u660e\u4e3a\u00a0<code>virtual<\/code>\uff0c\u6d3e\u751f\u7c7b\u51fd\u6570\u53ef\u4ee5\u7528\u00a0<code>override<\/code>\u00a0\u663e\u5f0f\u6807\u8bb0\u3002<\/li><\/ul><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>class Base {\npublic:\n    virtual void show() { cout &lt;&lt; \"Base\"; }\n    virtual Base* clone() { return new Base(); }\n};\nclass Derived : public Base {\npublic:\n    void show() override { cout &lt;&lt; \"Derived\"; }  \/\/ \u5408\u6cd5\u91cd\u5199\n    Derived* clone() override { return new Derived(); } \/\/ \u534f\u53d8\u8fd4\u56de\u7c7b\u578b\n};<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. \u591a\u6001\u6027<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u91cd\u8f7d\uff08Overload\uff09<\/strong>\uff1a<br>\u5c5e\u4e8e<strong>\u9759\u6001\u591a\u6001<\/strong>\uff08\u7f16\u8bd1\u65f6\u591a\u6001\uff09\uff0c\u7f16\u8bd1\u5668\u6839\u636e\u8c03\u7528\u65f6\u7684\u53c2\u6570\u51b3\u5b9a\u5177\u4f53\u51fd\u6570\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>obj.print(5);     \/\/ \u8c03\u7528 print(int)\nobj.print(3.14);  \/\/ \u8c03\u7528 print(double)<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u91cd\u5199\uff08Override\uff09<\/strong>\uff1a<br>\u5c5e\u4e8e<strong>\u52a8\u6001\u591a\u6001<\/strong>\uff08\u8fd0\u884c\u65f6\u591a\u6001\uff09\uff0c\u901a\u8fc7\u865a\u51fd\u6570\u8868\u548c\u57fa\u7c7b\u6307\u9488\/\u5f15\u7528\u5b9e\u73b0\u52a8\u6001\u7ed1\u5b9a\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>Base* ptr = new Derived();\nptr->show();  \/\/ \u8f93\u51fa \"Derived\"<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. \u5176\u4ed6\u5173\u952e\u70b9<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u865a\u51fd\u6570\u8981\u6c42<\/strong>\uff1a\n<ul class=\"wp-block-list\">\n<li>\u91cd\u5199\u5fc5\u987b\u57fa\u4e8e\u57fa\u7c7b\u7684\u865a\u51fd\u6570\uff08<code>virtual<\/code>\uff09\u3002<\/li>\n\n\n\n<li>\u91cd\u8f7d\u4e0e\u865a\u51fd\u6570\u65e0\u5173\uff0c\u53ef\u4ee5\u662f\u666e\u901a\u51fd\u6570\u6216\u865a\u51fd\u6570\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>const \u9650\u5b9a\u7b26<\/strong>\uff1a<ul><li>\u6210\u5458\u51fd\u6570\u7684\u00a0<code>const<\/code>\u00a0\u7248\u672c\u548c\u975e\u00a0<code>const<\/code>\u00a0\u7248\u672c\u53ef\u6784\u6210\u91cd\u8f7d\u3002<\/li><li>\u91cd\u5199\u65f6\uff0c<code>const<\/code>\u00a0\u9650\u5b9a\u7b26\u5fc5\u987b\u4e00\u81f4\u3002<\/li><\/ul><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>void func() const;    \/\/ \u91cd\u8f7d\uff1aconst \u7248\u672c\nvoid func();          \/\/ \u975e const \u7248\u672c<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u9690\u85cf\uff08Hiding\uff09<\/strong>\uff1a<br>\u82e5\u6d3e\u751f\u7c7b\u5b9a\u4e49\u4e86\u4e0e\u57fa\u7c7b\u540c\u540d\u4f46\u53c2\u6570\u4e0d\u540c\u7684\u51fd\u6570\uff0c\u4f1a<strong>\u9690\u85cf\u57fa\u7c7b\u51fd\u6570<\/strong>\uff08\u9700\u7528\u00a0<code>using<\/code>\u00a0\u6216\u4f5c\u7528\u57df\u8fd0\u7b97\u7b26\u8bbf\u95ee\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>class Base { public: void func(int); };\nclass Derived : public Base { public: void func(double); };\nDerived d;\nd.func(5);          \/\/ \u8c03\u7528 Derived::func(double)\uff0cBase::func(int) \u88ab\u9690\u85cf\nd.Base::func(5);    \/\/ \u663e\u5f0f\u8c03\u7528\u57fa\u7c7b\u7248\u672c<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u7279\u6027<\/th><th>\u91cd\u8f7d\uff08Overload\uff09<\/th><th>\u91cd\u5199\uff08Override\uff09<\/th><\/tr><\/thead><tbody><tr><td><strong>\u4f5c\u7528\u57df<\/strong><\/td><td>\u540c\u4e00\u4f5c\u7528\u57df<\/td><td>\u57fa\u7c7b\u4e0e\u6d3e\u751f\u7c7b\u4e4b\u95f4<\/td><\/tr><tr><td><strong>\u51fd\u6570\u7b7e\u540d<\/strong><\/td><td>\u53c2\u6570\u5217\u8868\u4e0d\u540c<\/td><td>\u51fd\u6570\u540d\u3001\u53c2\u6570\u3001\u8fd4\u56de\u7c7b\u578b\u4e00\u81f4<\/td><\/tr><tr><td><strong>\u591a\u6001\u7c7b\u578b<\/strong><\/td><td>\u9759\u6001\u591a\u6001\uff08\u7f16\u8bd1\u65f6\uff09<\/td><td>\u52a8\u6001\u591a\u6001\uff08\u8fd0\u884c\u65f6\uff09<\/td><\/tr><tr><td><strong>\u865a\u51fd\u6570\u8981\u6c42<\/strong><\/td><td>\u65e0\u5173<\/td><td>\u5fc5\u987b\u57fa\u4e8e\u57fa\u7c7b\u865a\u51fd\u6570<\/td><\/tr><tr><td><strong>\u5173\u952e\u5b57<\/strong><\/td><td>\u65e0<\/td><td><code>virtual<\/code>\uff08\u57fa\u7c7b\uff09\u3001<code>override<\/code>\uff08\u6d3e\u751f\u7c7b\uff09<\/td><\/tr><tr><td><strong>\u5178\u578b\u7528\u9014<\/strong><\/td><td>\u6269\u5c55\u540c\u540d\u51fd\u6570\u529f\u80fd<\/td><td>\u5b9e\u73b0\u591a\u6001\u6027\uff0c\u5b9a\u5236\u6d3e\u751f\u7c7b\u884c\u4e3a<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1.\u4ec0\u4e48\u662f\u865a\u65b9\u6cd5\uff1f\u5b83\u548c\u62bd\u8c61\u65b9\u6cd5\u6709\u4ec0\u4e48\u4e0d\u540c\uff1f \u5171\u540c\u70b9\uff1a\u90fd\u652f\u6301\u591a\u6001\u3001\u5728\u5b50\u7c7b\u4e2d\u90fd\u53ef\u4ee5\u8fdb\u884c\u91cd\u5199\u3001\u5fc5\u987b\u5728\u7c7b\u7684\u5185\u90e8\uff08\u4e0d\u80fd\u662fstatic\u7684\uff09 \u4e0d &#8230;<\/p>\n","protected":false},"author":1,"featured_media":541,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","emotion":"","emotion_color":"","title_style":"","license":"","footnotes":""},"categories":[34],"tags":[41],"class_list":["post-534","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-c","tag-41"],"_links":{"self":[{"href":"https:\/\/reverieland.cn\/index.php\/wp-json\/wp\/v2\/posts\/534","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/reverieland.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/reverieland.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/reverieland.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/reverieland.cn\/index.php\/wp-json\/wp\/v2\/comments?post=534"}],"version-history":[{"count":7,"href":"https:\/\/reverieland.cn\/index.php\/wp-json\/wp\/v2\/posts\/534\/revisions"}],"predecessor-version":[{"id":547,"href":"https:\/\/reverieland.cn\/index.php\/wp-json\/wp\/v2\/posts\/534\/revisions\/547"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/reverieland.cn\/index.php\/wp-json\/wp\/v2\/media\/541"}],"wp:attachment":[{"href":"https:\/\/reverieland.cn\/index.php\/wp-json\/wp\/v2\/media?parent=534"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/reverieland.cn\/index.php\/wp-json\/wp\/v2\/categories?post=534"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/reverieland.cn\/index.php\/wp-json\/wp\/v2\/tags?post=534"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}