c语言sscanf函数的用法是什么
313
2022-09-05
C#抽象类和虚方法
抽象类与抽象方法:1.使用关键字abstract修饰的类,称为抽象类.2.抽象类只是用到一个类所具有的行为,不能单独通过创建对象来使用.使用new是错误的.3.抽象类中可以有抽象方法,也可以没有任何抽象方法.4.抽象类不能是静态的(static)或者密封的(sealed)
抽象方法的概念与使用要点:1.在抽象类中使用abstract修饰的方法,称为抽象方法.2.抽象方法必须在抽象类中定义,不能再普通类中使用.3.抽象方法只能是一个方法的申明,不能有任何的方法体.4.抽象方法仅仅表示一个应该具有的行为,具体实现由子类实现.5.抽象方法在子类中被实现(重写)必须使用关键字override.6.子类必须重写父类的所有抽象方法,除非子类本身也是抽象类.
多态:不同对象,接收相同消息,产生不同的行为,称为多态。
使用继承实现多态:父类中必须有抽象方法或虚方法.子类必须重写父类中的抽象方法或虚方法.子类对象必须转换成父类对象去使用.
LSP:李氏替换原则:1.子类的对象能够替换其父类.2.父类对象不能替换子类.3.父类的方法都要在子类中实现或者重写.
is与as操作符:is,检查对象是否与指定类型兼容,如果转换失败程序中断.as 用于在兼容的引用类型之间执行转换,转换失败返回null.
针对抽象方法问题引出:如果需要在父类中提供一个方法,该方法有自己的方法体,子类根据自己的需求决定是否重写该方法,而不是必须重写.
父类方法定义成:virtual,子类可以重写也可以不重写.虚方法如同抽象方法一样,可以实现多态.子类没有重写虚方法时,直接调用父类的虚方法.
构造方法,用来对象创建过程中初始化。
Equals默认支持的是引用相等,想让对象相同,重写Equals
虚方法和抽象方法用virtural修饰,要有方法体,哪怕是一个分号,可以被子类override,除了密封类都可以写用abstract修饰,不允许有方法体,必须被子类override,只能在抽象类中.
关于Equals()虚方法:对于字符串和值类型能够自动比较是否相等.对于对象比较必须重写后才有意义.
关于ToString()虚方法:默认返回该对象的完全限定类型名称,可根据需要重写.而对于值类型,因为重写的该方法,则返回变量值的字符串表示.
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~