zoukankan      html  css  js  c++  java
  • OOP

    鉴于下午要去面试,顺便把OO复习了下。 OOP的三大特征分别是:封装、继承和多态。 继承:传递性(卡车 is a 汽车)、单根性(不可以多继承)和密封性(sealed修饰的类是不能背继承的,叫做密封类)。 当子类继承父类是会隐式调用父类的无参构造函数,如果没有显示的调用,则会报错“Person”方法没有采用“0”个参数的重载。显示调用父类的属性或方法 public Student(string name,int age,string gender,string hobby,string popularity):base(name,age,gender) { //this.Name = name; //this.Age = age; //this.Gender = gender; this.Hobby = hobby; this.Popularity = popularity; } 多态:使用抽象(abstract)类和抽象方法来实现,有抽象方法的类一定是抽象类,但是抽象类中不一定都是抽象方法,也可以包含实体方法。 abstract public class Person{ public abstract string SayHi(); } 抽象方法没有方法体(“{ }”) 在子类中重写SayHi方法 public override string SayHi() { return "大家好,我叫:" + Name ; } 多态的另一种实现方法是虚方法(virtual) public abstract string SayHi(){ return "******"; }; 虚方法中可以包含方法体,可以设置默认值。在子类中可以根据需要用override重写SayHi方法。 多态中还有一个原则:里氏替换原则,可以这么理解汽车派生出卡车,卡车是汽车,但是汽车是卡车确实错误的。可以用“is操作符”和“as操作符”来处理。 is: “asd” is string 如果成立的话则返回TRUE,不成立的话就会报错; as:“asd” is string 如果成立的话则返回TRUE,不成立的话则返回null,并不报错。 以上内容均是本人学习只用,有理解错误的地方欢迎大家指出。

  • 相关阅读:
    点击空白处隐藏盒子
    java缓存技术
    使用Java处理大文件
    java实现把一个大文件切割成N个固定大小的文件
    笔记:Java的IO性能调整
    NIO之轻松读取大文件
    java读写文件,读超大文件
    java读取大文件 超大文件的几种方法
    java web服务器cpu占用过高的处理
    软件开发各类文档模板
  • 原文地址:https://www.cnblogs.com/tony312ws/p/2127213.html
Copyright © 2011-2022 走看看