在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
在C#基础知识之类和结构体中我详细记录了类、类成员、重载、重写、继承等知识总结。这里就记录一下对面向对象和面向对象三大特性的广义理解。 类是面向对象编程的基本单元,面向对象思想其实就是教给我们如何合理的运用类的规则去编写代码。 二、理解面向对象的三大特性1、封装封装就是通过给类及类中的成员变量、属性和方法设置不同的访问修饰符(public、protected、internal、protected internal、private)来控制它们的作用范围,以达到封装的目的。 2、继承什么是继承?顾名思义,就是子类根据C#的规则继承父类的方法或者数据成员的一种方式。 (1)C# 不支持多重继承。但是,您可以使用接口来实现多重继承 //基类 class Shape { public void setWidth(int w) { width = w; } public void setHeight(int h) { height = h; } protected int width; protected int height; } // 接口 PaintCost public interface PaintCost { int getCost(int area); } // 派生类 class Rectangle : Shape, PaintCost { public int getArea() { return (width * height); } public int getCost(int area) { return area * 70; } } class RectangleTester { static void Main(string[] args) { Rectangle Rect = new Rectangle(); int area; Rect.setWidth(5); Rect.setHeight(7); area = Rect.getArea(); // 打印对象的面积 Console.WriteLine("总面积: {0}", Rect.getArea()); Console.WriteLine("油漆总成本: ${0}" , Rect.getCost(area)); Console.ReadKey(); } } (2)一个对象用父类声明,使用子类实例化的三种情况
执行结果
运行结果
深究其原因,为何两者不同,是因为原理不同: override是重写,即将基类的方法在派生类里直接抹去重新写,故而调用的方法就是子类方法;而new只是将基类的方法在派生类里隐藏起来,故而调用的仍旧是基类方法。 3、多态(1)概念如何理解多态?多态性意味着有多重形式。在面向对象编程范式中,多态性往往表现为"一个接口,多个功能"。总体而言,就是调用相同的方法,表现出不同的行为,称之为多态。 (2)多态性的常见体现虚方法、抽象类、接口
|
请发表评论