1. 面向对象 1.1 多态 多态同一个行为具有多个不同表现形式或形态的能力。是指一个类实例(对象)的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。 ...
分类:
编程语言 时间:
2021-03-08 13:02:43
阅读次数:
0
前言 我们都知道泛型在C#的重要性,泛型是OOP语言中三大特征的多态的最重要的体现,几乎泛型撑起了整个.NET框架,在讲泛型之前,我们可以抛出一个问题,我们现在需要一个可扩容的数组类,且满足所有类型,不管是值类型还是引用类型,那么在没有用泛型方法实现,如何实现? 一.泛型之前的故事 我们肯定会想到用 ...
一、使用Iterator接口遍历 二、普通for循环遍历 三、增强for循环遍历 四、List集合自带迭代器 五、Lambda(JDK8新增特性) //使用多态方式创建对象 List<String> list = new ArrayList<>(); //添加元素到集合 list.add("大雄") ...
分类:
其他好文 时间:
2021-03-05 12:59:25
阅读次数:
0
【1】多态跟属性无关,多态指的是方法的多态,而不是属性的多态。 代码: 定义一个动物的父类: public class Animal { public void shut(){ System.out.println("我是小动物,我会叫"); } } 定义一个小猪子类,继承动物类:重写父类的shut ...
分类:
编程语言 时间:
2021-03-03 12:16:11
阅读次数:
0
一图胜千言,如果图解没有阐明问题,那么你可以借助它的标题来一窥究竟。 1、字符串不变性 下面这张图展示了这段代码做了什么 String s = "abcd"; s = s.concat("ef"); 2、equals()方法、hashCode()方法的区别 HashCode被设计用来提高性能。equ ...
分类:
编程语言 时间:
2021-02-24 13:23:06
阅读次数:
0
public class DemoMain { public static void main(String[] args) { /* 多态 如果接口的实现类或者父类的子类只需要使用唯一的一次 那么这种情况下就可以省略掉这个类的定义 而改为使用匿名内部类 接口名称 对象名 = new 接口名称(){ ...
分类:
编程语言 时间:
2021-02-20 12:45:21
阅读次数:
0
多态使用时,如果子类中有属性开辟到堆区,那么父类指针在释放时无法调用到子类的析构代码 解决方式:将父类中的析构函数改为虚析构或者纯虚析构 虚析构和纯虚析构共性: 可以解决父类指针释放子类对象 都需要有具体的函数实现 虚析构和纯虚析构区别: 如果是纯虚析构,该类属于抽象类,无法实例化对象 虚析构语法: ...
分类:
其他好文 时间:
2021-02-20 12:06:01
阅读次数:
0
把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的特化(specialization)和泛化(generalization),通过多态(polymorphi... ...
分类:
编程语言 时间:
2021-02-18 13:28:32
阅读次数:
0
【1】视C++为一个语言联邦 C++包含4个次语言:C,面向对象C++,模板,STL。 C:C++是以C语言为基础一门语言,其基本的blocks,statements,preprocessor等都是一样的 面向对象C++:封装,继承,多态 模板:泛型编程基础 STL:对容器,迭代器,算法紧密的配合与 ...
分类:
编程语言 时间:
2021-02-17 14:37:20
阅读次数:
0
封装 定义:属性私有private;get/set 目的 提高程序的安全性,保护数据 隐藏代码的实现细节 统一接口 提高系统的可维护性 代码 public class Student { //名字 private String name; //学号 private int id; //性别 priv ...
分类:
编程语言 时间:
2021-02-17 14:11:07
阅读次数:
0