----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
继承和类型转换
一、知识点概述
- ·可以定义继承自其他类的类,关系是“父类/子类”。子类继承父类的成员(不严谨)。
- 定义语法“class 子类:父类”,不指定父类刚父类为Object,.Net中所有类都直接或者间接继承自Object.
- 可以用父类变量指向子类对象,不能把子类变量指向父类对象;“变量类型”和“对象类型”不一样,盒子中的面包可以贴“面包”、“面食”、“食品”等。
- 如果一个父类变量指向的是子类对象,那么可以把子类变量指向这个父类变量,但是需要做类型转换:Person p1=(Person)obj1;
二、源代码实现
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace exam1 { class Program { class Animal { //dog类的父类方法jiao public void jiao() { Console.WriteLine("动物会叫"); Console.ReadLine(); } } //dog类继承Animal类 class dog : Animal { } static void Main(string[] args) { //创建一个子类的对象d dog d = new dog(); //知识点(1)子类对象d可以调用父类Animal的方法jiao d.jiao(); //知识点(2)父类的变量a1可指向子类的对象,就相当于给子类的对象贴上一个动物的标 签; Animal a1 = new dog(); //但是不能用子类的变量指向父类的对象,就相当于说在不知道是什么动物的情况下不能给 动物随便贴一个狗的标签 //dog d1 = new Animal(); //(3)知识点(3)如果一个父类的变量指向子类的对象,那么可把子类的的变量指向父类的 变量, //但是需要将父类的的变量做类型转换 Animal a2 = new dog(); dog d2 =(dog) a2; } } }