C#基础学习之【3】多态与静态对象的使用1
来源:互联网 发布:手机麻将软件制作 编辑:程序博客网 时间:2024/04/28 13:50
1、多态的使用
using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication1{ // 定义一个叫Enemy的基类 public class Enemy { //构造函数 public Enemy() { Console.WriteLine("enemy contructor"); } // 声明为虚方法 public virtual void UpdateAI() { // Enemy的AI Console.WriteLine("update enemy ai"); } } // 派生类Boss继承自基类Enemy, public class Boss : Enemy { //构造函数 public Boss() { Console.WriteLine("boss contructor"); } //添加override,代替基类的方法 public override void UpdateAI() { // Boss 的AI Console.WriteLine("update boss ai"); } } class Program { static void Main(string[] args) { Enemy[] enemies = new Enemy[2]; //创建一个数组,包括两个Enemy基类 enemies[0] = new Enemy(); //创建一个Enemy, 执行Enemy的构造函数 enemies[1] = new Boss(); //创建一个Boss,先执行Enemy的构造函数,再执行Boss的 for (int i = 0; i < 2; i++) { // enemies[0]会调用Enemy类的UpdateAI // enemies[1]会调用Boss类的UpdateAI enemies[i].UpdateAI(); } // 输入任意键退出 Console.ReadKey(); } }}
2、static对象
using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication1{ public class Player { public static int count = 0; //静态成员,用于统计Player对象的数量 public Player() { count++; // 每创建一个Player对象,count自加一次 } } class Program { static void Main(string[] args) { Player player1 = new Player(); //创建一个Player对象 Console.WriteLine(Player.count);// 输出1,有1个Player Player player2 = new Player();// 又创建一个Player对象 Console.WriteLine(Player.count); // 输出2,有2个Player // n = player2.count; 错误用法,静态成员不能被对象直接调用 // 输入任意键退出 Console.ReadKey(); } }}
0 0
- C#基础学习之【3】多态与静态对象的使用1
- C#基础 数组的认识、学习、与使用
- C#基础学习之【6】委托的使用
- C#基础学习之【7】事件的使用
- C#学习笔记之六 类定义中static关键字的用法暨C#中静态变量的意义与使用
- C#基础之静态类
- C#基础之静态类
- C#之静态函数的使用
- [对象的使用]请分清静态与非静态
- C#温故而知新学习系列之面向对象编程—1-定义类与创建类的对象
- java学习日记_26:面向对象之静态变量与成员变量的区别
- C#控制台基础 调用非静态类的静态方法与非静态方法
- C#超基础:静态数组与动态数组的区别
- C++基础之:对象的静态类型和动态类型
- Android开发笔记之工具类使用静态方法与单例对象方法的优劣
- C#学习之对象
- c#学习之--对象
- java学习笔记3--类与对象的基础
- Associative机制使用场景
- iOS-核心动画高级编程/13-高级绘图
- Hexo博客优化
- 正则表达式和通配符概念的区别
- 寒假自主学习项目一 - 链表(6、插入节点)
- C#基础学习之【3】多态与静态对象的使用1
- Ext-JS中Label的style阴影在chrome中汉字显示不正确处理方法
- 使用cocoaPods出现:incompatible character encodings: UTF-8 and ASCII-8BIT (Encoding::CompatibilityError)
- iOS-核心动画高级编程/14-图像IO
- 构造函数和析构函数的执行顺序相反
- 网络基本功(三):细说VLAN与Trunk
- USACO5.1.3 Musical Themes(theme)
- Eclipse无法编译的原因——写给初学者
- iOS-核心动画高级编程/15-图层性能