汉企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对象 ...
随机推荐
- ref与out之间的区别整理
ref和out都是C#中的关键字,所实现的功能也差不多,都是指定一个参数按照引用传递. 对于编译后的程序而言,它们之间没有任何区别,也就是说它们只有语法区别. 总结起来,他们有如下语法区别: 1.re ...
- SQL Cursor 游标的使用
DECLARE @name VARCHAR(50) --声明游标 DECLARE cursor_VAA1 CURSOR FOR SELECT VAA05 FROM VAA1 --打开游标 OPEN ...
- Solr使用初探——SolrJ的使用
二.SolrJ的使用 SolrJ覆盖了solr的全部功能,下面将自己在实际开发中所使用的程序粘贴出来并适当加以解释,由于本人比较菜,代码书写不是那么的精练,还请见谅. 1. 创建solrserver ...
- Oracle中用一张表的字段更新另一张表的字段
今天在做项目的过程中,发现开发库中某张表的某字段有许多值是空的,而测试库中该字段的值则是有的. 那么,有什么办法能将测试库中该字段的值更新到开发库中呢? SQL Server中这是比较容易解决的,而O ...
- 开发一个完整的JavaScript组件
作为一名开发者,大家应该都知道在浏览器中存在一些内置的控件:Alert,Confirm等,但是这些控件通常根据浏览器产商的不同而形态各异,视觉效果往往达不到UI设计师的要求.更重要的是,这类内置控件的 ...
- [001] winnie the pooh - 读后记
winnie the pooh 我是在伍君仪透析英语视频培训班,获得这本书的,PDF格式的(排版不是很好,和当当上的相比有部分章节缺失) 这是我第一本采用透析法读完的英文书. 今天(2015年10月2 ...
- 【BZOJ2793】【数学】[Poi2012]Vouchers
Description 考虑正整数集合,现在有n组人依次来取数,假设第i组来了x人,他们每个取的数一定是x的倍数,并且是还剩下的最小的x个. 正整数中有m个数被标成了幸运数,问有哪些人取到了幸运数. ...
- siege 压力测试
Ben: $ siege -u shemp.whoohoo.com/Admin.jsp -d1 -r10 -c25 ..Siege 2.65 2006/05/11 23:42:16 ..Prepari ...
- XML3_XML元素和节点的具体解释
就像一个树状的目录.可以把第一行当作它扎根的“土地”.XML文件是由节点构成的.它的第一个节点为“根节点”.一个XML文件必须有且只能有一 个根节点,其他节点都必须是它的子节点.我们在FLASH里使用 ...
- 发测试邮件或垃圾邮件node脚本
npm install nodemailer 执行后,指定目录下会出现node_modules模块,再相同目录下,创建main.js,js代码如下: var nodemailer = require( ...