Python基础知识(17):面向对象编程(Ⅱ) 获取对象信息 在不知道对象信息的情况下,我们想要去获取对象信息,可以使用以下方法 1、type (1)判断对象类型 (2)比较两个对象是否是同一个类型 2、isinstance (1)判断一个对象是否是该类型本身或位于该类型的父类继承链 (2)判断一 ...
                            
                            
                                分类:
编程语言   时间:
2018-11-29 21:18:32   
                                阅读次数:
203
                             
                    
                        
                            
                            
                                在继承链上进行向下的转换的一些事项: 超类转换为子类前要检查(为什么要将超类转换成子类?这通常意味着超类的设计存在问题) 抽象类 如果一个方法用abstract修饰,则在这个类里就不用实现这个方法了 抽象类的语法和注意事项 子类是否实现抽象的影响: 注意: 关于抽象超类引用的问题: 关于调用的问题  ...
                            
                            
                                分类:
其他好文   时间:
2018-11-28 19:04:39   
                                阅读次数:
195
                             
                    
                        
                            
                            
                                近正好也没什么可忙的,就回过头来鼓捣过去的知识点,到Servlet部分时,以前学习的时候硬是把从上到下的继承关系和接口实现记得乱七八糟。 这次利用了IDEA的diagram,结果一目了然,也是好用到炸裂,就此分享。 1、查看图形形式的继承链 在你想查看的类的标签页内,点击右键,选择 Diagrams ...
                            
                            
                                分类:
其他好文   时间:
2018-10-30 10:21:23   
                                阅读次数:
277
                             
                    
                        
                            
                            
                                1、查看图形形式的继承链 在你想查看的类的标签页内,点击右键,选择 Diagrams,其中有 show 和 show ... Popup,只是前者新建在标签页内,后者以浮窗的形式展示: 实际上,你也可以从左边的项目目录树中,对你想查看的类点击右键,同样选择Diagrams,效果是一样的: 然后你就会 ...
                            
                            
                                分类:
其他好文   时间:
2018-07-24 19:24:07   
                                阅读次数:
258
                             
                    
                        
                            
                            
                                    1 区别 override关键字表示重写(覆盖),对于加上override关键字的属性或函数将完全覆盖基类的同名虚属性或虚函数,使基类的虚属性和虚函数在整个继承链中都不可见(在子类中用base关键字调用除外)。 new表示隐藏,是指加上new关键字的属性或函数将对本类和继承类隐藏基类的同名属性或函数 ...
                            
                            
                         
                    
                        
                            
                            
                                    接着上章说: 先看代码 如果仔细观察代码,我们会发现在子类中实现父抽象类的方法时,使用的是ovrride关键字,这个和多态中的重写是一个关键字,那么这两个是相同的嘛? 答案是不是的。 在多态中说了,重写是将继承链中重写的方法全部替换。 而抽象的重写则是实现方法。这个先是方法代码是不存在,在子类中实现 ...
                            
                            
                         
                    
                        
                            
                            
                                    接上面讲 我们知道虚方法,和重写方法。 但是有没有发现 override和new的作用是差不多的。 但为什么还要单独写出来两个呢? 首先,咱们要明白一个问题,继承是具有线性传播的。 代码中,Son具有Father的方法,属性。换句话 Son使用的Father的方法。在Son的这个继承链上,使用new ...
                            
                            
                         
                    
                        
                            
                            
                                    继承链中对象方法的调用规则:当前类-->父类-->爷类-->..-->祖先类(只能向上找,不能向下找)优先级:this.method(Obj) > super.method(Obj) > this.method((super)Obj) > super.method((super)Obj) demo代 ...
                            
                            
                                分类:
编程语言   时间:
2018-06-20 21:24:47   
                                阅读次数:
111
                             
                    
                        
                            
                            
                                线程池继承链 public class ThreadPoolExecutor extends AbstractExecutorService public abstract class AbstractExecutorService implements ExecutorService public ...
                            
                            
                                分类:
编程语言   时间:
2018-04-19 20:26:34   
                                阅读次数:
219
                             
                    
                        
                            
                            
                                    一、使用where关键字限制类型参数 泛型约束 描述 where T : struct 类型参数<T>的继承链中必须有System.ValueType where T : class 类型参数<T>的继承链中不允许有System.ValueType(例如<T>是一个引用类型) where T : n ...
                            
                            
                                分类:
其他好文   时间:
2018-03-21 00:02:44   
                                阅读次数:
194