汉企C#面向对象——继承
public class Shengwu
{ private string _Name; public string Name
{
get { return _Name; }
set { _Name = value; }
} protected string Old=""; public void shengming()
{
Console.WriteLine("生物都是有生命的"); Console.WriteLine(Old);
} }
class dongwu:Shengwu
{
private string _dName; public string DName
{
get { return _dName; }
set { _dName = value; }
} public void huidong()
{
Console.WriteLine("动物会动"); }
}
class Mammal:dongwu //哺乳动物
{ }
class Plant:Shengwu //植物
{
public void guanghe()
{
Console.WriteLine("光合作用");
}
}
namespace 汉企C面向对象__继承
{
class Program
{
static void Main(string[] args)
{
dongwu data = new dongwu();
data.shengming();
data.Name = "生物名字";
data.DName = "动物名字"; Mammal ma = new Mammal();
ma.huidong(); object odata = data; //所有类型的基类,所有类型都是object的子类 Shengwu sdata = data;//子类可以直接转换为父类,但父类不具备子类的属性和方法。
Console.WriteLine(sdata.Name); //只能点出Name,点不出dName,因为Name是生物本身具有的,而dName是哺乳动物单独具有的属性。 //父类转子类有条件:这个父类的对象必须是由某个子类的对象转换类的,才能转换回去。
dongwu dw = new dongwu();
Shengwu sw = dw;
dongwu ddw = (dongwu)sw;
Console.WriteLine(ddw.Name); //因为p的本质是生物,所以不能转换为植物。 比如 p的本质是植物(以前是植物,转换为生物后本质仍然是植物),才可以转换为植物。
//Shengwu p = new Shengwu();
//Plant xdata = (Plant)p;
//Console.WriteLine(xdata.Name);
Console.ReadLine(); }
}
}
汉企C#面向对象——继承的更多相关文章
- 汉企C#面向对象——继承Practice
class Dianqi //创建电器类:父类 { private string _Dianqimingzi; public string Dianqimingzi { get { return _D ...
- 汉企学习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对象 ...
随机推荐
- UItextField常用方法
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view ...
- c#打开txt文件并导入到textbox中
OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Title = " 请选择您要导入的模板文件:&qu ...
- webapi之jsonp调用
定义跨域handle public class CorsHandler : DelegatingHandler { const string Origin = "Origin"; ...
- VS2010配置目录,解决:error MSB6006: “CL.exe”已退出,代码为 5问题
配置属性->VC++目录 可执行文件目录:$(VCInstallDir)bin;$(WindowsSdkDir)bin\NETFX 4.0 Tools;$(WindowsSdkDir)bin;$ ...
- Web Service 的服务端的引用
1.先说说服务端的引用 先写一个Web Service 的文件 上图 创建一个web 项目或者网站 然后添加新项 创建一个web服务 得到 下面的页面 然后运行起来 然后复制下地址 接下来创建另一 ...
- 通过shell脚本实现代码自动化部署
通过shell脚本实现代码自动化部署 一.传统部署方式及优缺点 1.传统部署方式 (1)纯手工scp (2)纯手工登录git pull.svn update (3)纯手工xftp往上拉 (4)开发给打 ...
- top工具
top 显示进程所占系统资源 能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top命令打印出了很多信息,包括系统负载(loadaverage).进程数(Tasks).c ...
- JavaScript符串中每个单词的首字母大写化
map() + replace() function titleCase(str) { var convertToArray = str.toLowerCase().split(" &quo ...
- JQ封装切换滚动功能
/*---------控制滚动图片v1(作者:SFLYQ)-----------Options 配置对象,(用来配置控制元素的dom位置,初始化一些必要的对象或者方法)DoIni 初始化操作(初始化元 ...
- JQuery 分页实现
JQuery分页实现 css: .liList0 { padding-left:5px;}.liList0 li { width:160px; float:left; display:inline ...