zoukankan      html  css  js  c++  java
  • 325工厂模式和面向对象知识点总结(有点乱凑合看)

    工厂模式我的理解:::::
    工厂 父类 子类 程序main调用工厂 工厂判断类型 根据判断的类型返回子类对象 子类对象中的方法重写父类方法中的虚方法。 利用到了面向对象中的多态
    工厂加工各种产品 工厂加工的产品又分为很多种类 父类是工厂加工的产品的总的项目类型 各个产品类型 就是子类 它们都属于父类
    用户订购商品从工厂 工厂查找(判断)大分类 (父类 ) 然后这些大分类 自动调用其所述的分类(子类) 在父类中有加工这件产品的虚方法(virtual) 子类中也有相应的重写方法(override) 工厂:判断: 父类 fu=new 子类(); 使用哪个子类 返回给用户 工厂判断

    父类中实现字段和属性 子类中继承父类构造函数和字段属性

    面向对象

    面向对象知识点
    1.什么是面向对象
    1>面向对象和面向过程的关系 相辅相成 面向对象是对面向过程的封装
    2>如何使用面向对象 Random r=new Random();//根据系统时间生成随机数
    3>类,对象,实例的概念 类就是一个模板 对象就是实例的泛指
    4>面向对象的特征:继承,封装和多态(c系语言的面向对象的特征)
    封装性:方法是过程的封装,属性是对字段的封装,类是对对象的封装
    继承性:解决代码的冗余,有利于程序的扩展,真正作用是代码的复用(用winform窗体理解),为了实现多态
    利用设计图纸的问题理解继承
    多态性:一个行为有多个结果 同一个动作针对不同的对象有不同的表现 插u盘的例子
    5>实现性:
    封装:类怎么写,成员有哪些,构造方法的意义,访问修饰符
    继承:如何进行继承,继承的结果,构造方法的执行过程,thisbase的含义 历史转换原则
    多态:什么是多态,如何实现多态 new(隐藏基类方法,做类库控制版本信息)和override的关系


    类前面的修饰符值在别的程序集是否可以访问
    默认不写是internal,表示内部的 不能被外界访问
    字段用来描述对象的特征,是类型中唯一可以存储数据的地方 默认的是private
    属性是为访问字段用的 属性实际就是简化了的方法 ctrl+r然后按ctrl+e快捷键

    方法 有static是静态方法,没有static是实例方法

    构造方法的意义 public 类名(){} 初始化数据
    默认的字段初始化 数字类型为0 ,类类型等为null 字符类型为‘’ bool类型为false

    构造方法支持重载,如果为类添加了构造方法,无论什么构造方法,都会导致午餐构造方法不再自动生成
    “男女”[new Random。next(2)]

    类 public internal
    成员 public private

    继承 public class subclsaa:baseclass
    {} 继承是类继承自类 汽车的设计图纸理解继承概念
    由于子类中没有任何代码,它们除了类型不同,其实是一样的
    继承中类型决定了可以访问的方法 继承的类中有自己独有的东西
    继承的特征:传递性(父类具有的子类也有),单根性(只能单继承,多重继承要继承接口),object根类的特征(所有的类继承自object)
    继承方法的执行过程(难)先从根类到自己逐步执行构造方法
    08构造方法的执行顺序 默认情况子类在创建的时候会自动的调用父类的构造方法
    无参构造方法一旦重载, 在子类构造方法后面使用base()使用父类构造方法,通过传参数告诉程序应该调用父类的哪一个重载

    this和base的含义 this当前的 base 父类的
    this 成员的访问
    构造方法的调用

    历史转换原则 子类可以直接赋值给父类变量
    父类可以强制类型转换为对应的子类对象
    is bool值 变量 is 类型
    as 类型对象 变量 as 类型

    多态:什么是多态 男人的例子:人不变但是所处环境决定其状态(员工,丈夫)
    usb的例子 行为不变 抽象层不变 实质变化 实质是什么
    如何实现多态 用new隐藏基类成员 ,调用时看类型,类型决定方法是谁提供的

  • 相关阅读:
    在windows系统和linux系统中查询IP地址命令的不同
    Linux --忘记root密码/su: Authentication failure
    Spring+quartz集群解决多服务器部署定时器重复执行的问题
    spring定时任务scheduler集群环境下指定运行服务器防止多服务器多次执行
    跨库数据表的运算
    AspectJ 切面注解中五种通知注解:@Before、@After、@AfterRunning、@AfterThrowing、@Around
    JUnit4 中@AfterClass @BeforeClass @after @before的区别对比
    Java后端的学习之Spring基础
    MySQL 5.7默认ONLY_FULL_GROUP_BY语义介绍
    【可靠性】Mysql 5.7 降低了半同步复制-数据丢失的风险
  • 原文地址:https://www.cnblogs.com/lierjie/p/3624504.html
Copyright © 2011-2022 走看看