面向对象的高级语言:C#高级(一)面向对象

  对于面向对象有N多大师写过N多文字我也不敢妄言就简单说说自己认识

  我们先来看看“对象”什么是对象?我们在现实生活中所能看到切都可以称为对象比如企业、医院、宠物、植物、人等等在面向对象编程中对象往往被当作个类类有属性和行为我们以医院为例来说医院有医生有护士等在医院可以做CTB超等在面向对象编程中我们定义个hospital 类其有属性(医生护士)和行为(做CT,做B超)这就是个简单面向对象编程

   其实我们不光可以把医院做为个类我们还可以把医生做为个类医生有其属性(年龄姓名性别等)和其行为(检查病人开处方做手术等)甚至我们可以把儿科医生定义为个类同样骨科外科内科等医生我们都可以分别定义为个类但这些类都具有同样属性(年龄姓名性别等)甚至行为难道每个类我们都要依次定义这些属性吗?答案是否定

   我们可以定义个医生类定义这些共有属性和行为儿科医生骨科医生等都继承自这个医生类这样就具有了医生类所有属性和行为这在面向对象编程中被称为继承

   我们再来看个例子

   人有白人黑人黄种人等人有年龄性别会吃饭狗有白毛有黑色狗等狗有年龄性别会吃饭咬人

   在这种情况下我们可以把人定义为个基类(有属性 年龄性别和行为吃饭等)黑人白人黄种人都继承自“人”这个类我们再“狗”定义为个类(有属性 年龄性别和行为吃饭咬人等)白狗黑狗都继承于这个“狗”类

   在这里我们可以看到狗所具有些属性在“人”这个类里面已经具有了我们没有必要重新在“狗”类中定义“狗”类中只需要定义其独特行为或属性比如:咬人而黑狗白狗等继承自“人”和“狗”这两个类这样就不存在重复定义问题了

   但在C#和Java中都不支持多重继承那如何办呢?这时候就诞生了个“接口”概念个类可以实现多个接口在上例中可以定义个“动物”接口(人也是种动物嘛)在接口中定义人和狗共有年龄性别吃饭等属性和行为再定义个“人”这样基类并实现这个接口然后白人黑人等类再继承“人”这个基类就可以了狗也同理

   呵呵就简单介绍这么些吧可能说不清楚大家去google有很多介绍面向对象文字

Tags:  c语言面向对象 用c实现面向对象 面向对象c 面向对象的高级语言

延伸阅读

最新评论

发表评论