汉企C#面向对象——继承Practice
class Dianqi //创建电器类:父类
{
private string _Dianqimingzi; public string Dianqimingzi
{
get { return _Dianqimingzi; }
set { _Dianqimingzi = value; }
}
}
class Computer:Dianqi //创建电脑类:子类
{
private string _Diannaomingzi; public string Diannaomingzi
{
get { return _Diannaomingzi; }
set { _Diannaomingzi = value; }
}
}
class Lenovo:Computer //创建Lenovo类:子类的子类
{
private string _Lname; public string Lname
{
get { return _Lname; }
set { _Lname = value; }
}
}
namespace 继承Practice
{
class Program
{
static void Main(string[] args)
{ //电器:父类
Dianqi dianqi1 = new Dianqi();
dianqi1.Dianqimingzi = "电器";
Console.WriteLine("电器的名字为"+dianqi1.Dianqimingzi);
//电脑:子类
Computer diannao = new Computer();
diannao.Diannaomingzi = "电脑";
Console.WriteLine("电脑的名字为"+diannao.Diannaomingzi);
//继承了电器属性的电脑
diannao.Dianqimingzi = "继承了电器属性的电脑(子类继承了父类的电器名字的属性)";
Console.WriteLine("电脑子类继承电器父类后的属性为 "+diannao.Dianqimingzi); //Lenovo:子类的子类
Lenovo le = new Lenovo();
le.Lname = "联想电脑";
Console.WriteLine("Lenovo电脑的名字为 "+le.Lname); //继承了电脑属性的Lenovo
Lenovo le1 = new Lenovo();
le1.Diannaomingzi = "联想电脑";
le1.Dianqimingzi = "电器下的电脑为联想";
Console.WriteLine("电脑属性的名字为 "+le1.Diannaomingzi);
Console.WriteLine("电器属性的名字为 " + le1.Dianqimingzi); //子类转父类:子类继承父类,一个子类只能有一个父类,一个父类可以有多个子类。
//子类具备父类的功能和属性,父类不具备子类的。
//子类可以转化为父类,但父类不具备子类的属性和方法。
//比如 猪 可以叫生物, 但生物不可以叫猪。
Computer Com = new Computer();//子类电脑
Dianqi DCom = Com;//子类电脑转换为父类电器
DCom.Dianqimingzi = "子类电脑转换为父类电器后的名字";
Console.WriteLine(DCom.Dianqimingzi); //父类可以转换为子类,但是有前提条件。 前提:父类之前的本质为子类,才可以转换为对应的子类。
Computer aaa = new Computer(); //创建一个子类aaa
Dianqi ddd = aaa;//将子类aaa转换为父类ddd
Computer xxx = (Computer)ddd; //将父类ddd转换为子类xxx
xxx.Dianqimingzi = "父类转换为子类";
Console.WriteLine(xxx.Dianqimingzi); //下面为不符合前提的情况,代码无错,运行会出错。
//Dianqi ddd1 = new Dianqi();
//Computer xxx1 = (Computer)ddd1;
//xxx1.Dianqimingzi = "父类转换为子类(不符合前提的情况)";
//Console.WriteLine(xxx1.Dianqimingzi);
Console.ReadLine();
}
}
}
汉企C#面向对象——继承Practice的更多相关文章
- 汉企C#面向对象——继承
public class Shengwu { private string _Name; public string Name { get { return _Name; } set { _Name ...
- 汉企学习4个半月的target and plan
我自从大学毕业以后,工作飘忽不定,其中也不乏有我自己的原因.IT是我向往的行业,几经波折,我来到了汉企. 9月4号,算是正式与汉企接触的第一天.在这里,我看到了学员的上进,老师的责任心,让我感受颇深. ...
- OC面向对象—继承
OC面向对象—继承 一.基本概念 程序的世界和人类的“对象”世界在思想上是没有设么区别的,富二代继承了父母,自然就拥有了父母拥有的所有资源,子类继承了父类同样就拥有了父类所有的方法和属性(成员变量). ...
- 面向对象继承实例(a如何继承b)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- js面向对象继承
前言 最近看到js面向对象这章节了,主要学习了原型和面向对象继承关系,为了梳理自己的知识逻辑,特此记录. js的面向对象 先说说我目前了解的js创建对象方法 1.写一个函数,然后通过new创建对象 2 ...
- Php面向对象 – 继承和重写
Php面向对象 – 继承和重写 承受: php于,通过类.使用特殊的经营宗旨. 通过定义类,采用extends来表示当前的类对象继承该类的对象. 样例: class C { public $p_c ...
- Java面向对象 继承(下)
Java面向对象 继承(下) 知识概要: (1)抽象类 1.1 抽象类概述 1.2 抽象类的特点 ...
- Java面向对象 继承(上)
Java面向对象 继承 知识概要: (1)继承的概述 (2)继承的特点 (3)super关键字 (4)函数覆盖 (5) 子类的实例化过程 (6) final关键字 (1)继承 ...
- js高级-面向对象继承
一.工厂模式创建对象及优缺点 继承就是把公共的部分抽象出来作为父类,基类.吃饭,跑步等 var a = {}; //批量创建不方便,不能重复设置公共属性的代码 //工厂模式出现了,创建10个Cat对象 ...
随机推荐
- pageContext.request.contextPath
jsp:<c:set var="ctxStatic" value="${pageContext.request.contextPath}"/>嵌套d ...
- xcode 最近打开文件列表显示为空或不显示最近打开的项目或(no recent projects)解决办法
如果使用的是10.10 系统,打开系统设置-->进入通用-->在最下面的"最近使用的项目"中将0改为你可以接受的选项 如果不是10.10,那么就从系统偏好设置---&g ...
- c# linq 基础知识点
1.Where与TakeWhile,Where和sql中的where一样,返回所有满足条件的元素,而TakeWhile判断原理类似于while语句,从头逐个判断,只要条件为真就一直返回检索到的元素,只 ...
- java PropertyChangeSupport委托帧听类的使用
要委托的Bean类写法. import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import ...
- itoa : Convert integer to string
Quote from: http://www.cplusplus.com/reference/cstdlib/itoa/ function Required header : <s ...
- [zz]安装Ubuntu 15.10后要做的事
很有用,收藏 http://blog.csdn.net/skykingf/article/details/45267517
- Java中静态代码块,代码块,构造方法的理解
直接贴代码 class A { static { System.out.println("父类静态代码区"); } { System.out.println("父类代码区 ...
- MVC中Area的使用
1.Area是什么? MVC 2 中引进了区域的概念,它允许将模型,视图和控制器分成单独的功能节点,换句话说,可以在大型复杂的网站中建立几个区域(模块),每一个区域都有Model,View,Contr ...
- 转载的在DOS下操作mysql
转载原文地址:http://www.server110.com/mysql/201309/1070.html 一.连接MYSQL. 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1 ...
- keilkill.bat
一.批处理文件 批处理文件是无格式的文本文件,它包含一条或多条命令.它的文件扩展名为 .bat 或 .cmd.在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文 ...