zoukankan      html  css  js  c++  java
  • 面向对象详述

    一、了解面向对象
    1、概念基本理解:1)、一个个体可以看做是一个对象,例如:人这个个体;
    2)、有共同属性的一类作为一个个体,例如:学生、白领、农民工;
    3)、结构体是用户自定义的数据类型,可以定义不同数据类型的变量,结构体也是面向对象的核心;
    2、基本特性:
    1)封装:是隐藏信息的特性,具有“封装”意识,是掌握面向对象分析与设计技巧的关键。
    最简单的理解:创建一个对象的整体,使对象的属性可以具有赋值、取值的功能,也就是对象中的变量可以赋值、取值。是一种认为的抽象出来的对象的概念。
    2)继承:任何事物中存在一种“派生”关系,即子类继承父类的所有属性,但是父类不一定具备子类的属性或功能。(类似数据库中主键、外键关系)
    3)多态:即多样化;某一类中具备共同属性,但这一类中具体到某个单独的个体又有各自不同的属性或功能。每一个个体都具有各自形态。可以理解为特性与共性的关系,例如:苹果和水果,水果拥有的特性,苹果一定有,因为苹果属于水果类。
    二、结构化编程方法
    1、结构化软件系统的基本编程单位是函数;
    2、整个系统按功能划分为若干个模块,每个模块都由逻辑上或功能上相关的若干个函数构成,各模块在功能上相对独立。
    3、公用的函数存放在公用模块中,各模块间可以相互调用,拥有调用关系的模块形成一个树形结构,这种调用关系应尽可能做到是单向的。


    类:就是具有相同属性和功能的对象的集合。

    构造方法:就是对类进行初始化。如果不编码则系统将默认生成空的构造方法。

    方法重载:提供了创建同名的多个方法的能力,但是这些方法需要有不同的参数类型。他可以在不改变原方法的基础上增加新功能。

    属性:适合于以字段的方式使用方法调用的场合,这里字段是存储类要满足其设计所需要的数据。

    封装:每个对象都包含他能进行操作的所有信息。封装可以减少耦合,类的内部可以修改,可以使类具有清晰的对外接口。

    继承:如果子类继承父类,第一子类拥有父类非private的属性和功能;第二,子类具有自己的属性和功能,即子类可以扩展父类没有的属性和功能,还可以以自己的方式实现父类的功能(方法重写)。?

    1.?如果子类拥有与父类重名的属性和方法的时候,子类的属性和方法会将父类的
    覆盖掉。如果需要显示调用父类的成员,则需要使用base.不然会默认调用this.?
    2.?创建一个子类对象,默认先会调用父类的无参的构造函数。如果父类没有无参
    的构造函数,会报错。?

    3.?创建子类对象的时候,也可以指定调用父类的带参的构造函数。Base?

    4.?子类会继承父类的所有成员,但是只能使用公共的,而私有成员不能使用。

    多态:表示不同的对象可以执行相同的动作,但是通过它们自己的实现代码来执行。这里需要将父类将该成员声明为虚拟的,而且用到了方法重写(override).

    抽象类:用abstract声明抽象类,注意抽象类不能实例化,抽象方法必须被子类重写。

    接口:是把隐式公共方法和属性组合起来,以封装特定的功能的一个集合,一旦类实现了接口,就可以支持接口所指定的所有属性的成员。一个类可以支持多个接口,多个类也可以支持相同的接口。

    集合:是优于数组,.NET Framework提供了用于数据存储和检索的专用类。集合随着我们向里边添加元素而自动增加,自动调节大小。提供了对堆栈,队列和哈希表的支持。

    泛型:具有占位符(即参数类型)的类,结构,接口和方法。和集合紧密联系,泛型集合可以获得类型安全的直接优点。也就是说类型固定了。

    public:声明全局变量,也就是说整个项目都可以访问到。
    private:声明私有变量,也就说只有这个类内部可以访问。
    protected:声明局部保护变量,只有其继承类可以访问。
    注意:在将类抽象时,需要将类中的private修饰符,变为protected,因为抽象类就是用来继承的
    在一个类中定义变量或者方法时,没有写访问修饰符,那么默认的访问修饰符为private

  • 相关阅读:
    存储过程之基本语法
    SQL存储过程概念剖析
    SQL2005之SA提权总结
    关于存储过程
    Java开发环境之------MyEclipse快捷键和排除错误第一选择ctrl+1(***重点***:ctrl+1,快速修复---有点像vs中的快速using
    MyEclipse Servers视窗出现“Could not create the view: An unexpected exception was thrown”错误解决办法
    艾泰路由器端口映射怎么设置
    常用端口
    jdbc注册驱动 class.forName()
    MyEclipse不能自动编译解决办法总结
  • 原文地址:https://www.cnblogs.com/smghome/p/9528009.html
Copyright © 2011-2022 走看看