面向对象的一些重要的基本概念

随着编程经验的不断积累,我对编程的理解也在不断的更新变化,刚开始接触到的C语言,感觉比较简单,而且非常有感觉,很有意思,后来是数据结构,然后在学习数据结构的时候了解到编程都有一种非常神秘的算法存在,需要用心体会,再后来就是接触到了Java,我在Java中接触到的最多的就是利用面向对象的思想编程,当时,感觉使用这种面向对象思想编程非常的别扭,非常的不舒服,没有面向对象更加直接,后来,在逐渐Java的摄入学习和并且也接触到其他的一些编程语言,逐渐的认识到了面向对象思想的重要性以及精髓所在。在我们的日常的工作中面向对象真的非常的重要,非常的重要,非常的重要。重要的事情说三遍。下面是我个人利用闲暇时间总结的一些基本但是非常的重要的基本概念。

弄懂这些基本概念是正确的理解和深入学习面向对象思想的基础。

首先应该记住的是,在面向对象的世界里面,一切皆对象

顺带一句,在Linux的世界里面,一切皆文件。

1.所有类的基类是:

对象(Object) [这个单词很重要!!!]

2.什么是对象?

对象是对客观事物的抽象。

3.什么是类?

类是对象的抽象。

4.类和对象的联系?

类是对象的模板,对象是类的实例

5.对象和类的区别?

对象占内存,类不占内存。

6.什么是面向对象?

面向对象(Object Oriented)是一种软件开发的方法,也是一种编程的思想,就是所谓套路(更直白的说法),是对客观事物理解和抽象的方法。

7什么是属性和方法?

属性是用来描述对象特性的数据,方法是数据的变化过程,是可重用的代码段。

8.面向对象的三大基本特性?

(1)封装:把客观事物封装成抽象的类,隐藏对象的属性和实现细节,仅仅对外公开接口。

(2)继承:子类可以继承父类的属性和方法,提高了代码的重用性和可扩展性。

(3)多态:通俗的理解就是树干和树枝的关系;主要分为以下两种类型:

a,向上转型:子类对象->父类对象

对象向上转型,程序会自动完成;格式:

对象向上转型:父类 父类对象=子类实例;

b,向下转型:父类对象->子类对象

    对象向下转型,必须明确指名要转型的子类类型,格式:

      对象向下转型:子类 子类对象=(子类) 父类实例

        (这个属于强制转换类型)

这里写的比较全面,但是对于JS来说,没有这么复杂。

实现多态的方法主要有重写(overwrite)和重载(overload 有些语言不支持重载)

9.什么是重写和重载?

(1)重写(overwrite):子类可以重写父类非私有的方法。

(2)重载(overload):一个类中可以有多个同名的方法,这些方法的参数不能相同。

一个类中可以有多个同名不同参的方法。

10.什么是值类型和引用类型?

(1)值类型:传值。

(2)引用类型:传址。

11.值类型和引用类型的区别?

(1)值类型:一人一份内存。

(2)引用类型:共用一份内存

打个比方:值类型是私家车,一人一辆,你车坏了你迟到,不影响别人。引用类型是公交车,大家公用一辆,车一坏全车人迟到。

12,Java中String是值类型还是引用类型?

引用类型

Java中判断两个字符串相等应该用str1.equal(str2),用==不准确。

public static void main(String[] args) {
        String str1 = "string";
        String str2 = "string";
        String str3 = new String("string");
        System.out.println(str1 == str2);        //true
        System.out.println(str1 == str3);        //false
        System.out.println(str1.equals(str2));   //true
        System.out.println(str1.equals(str3));   //true
}

13,什么是计算机程序?

计算机是可以完成某些功能的计算机指令集。

计算机程序由数据结构和算法构成。

什么是数据结构?什么是算法?

数据结构是计算机存储,组织数据的方式。

算法是计算机执行计算过程的具体描述。

好的数据结构和算法会带来更高的运行,存储效率。数据结构往往和高效的检索算法和索引技术有关。

通常,计算机程序需要经过编译和链接成为人们难以理解但是计算机理解的格式,然后执行。不需要编译就可以运行的称之为脚本程序。

转载请注明原文地址:http://www.cnblogs.com/zhangyukof/p/6829538.html

时间: 2024-10-02 22:38:24

面向对象的一些重要的基本概念的相关文章

面向对象设计的思想与基本概念

##软件的根本问题###建模###次要问题1.复杂性2.隐匿性3.配合性4.易变性 ##基本思想(复杂性)###分而治之:###拼图思想:###分拆与组合: ##软件的基本要素###组件###联系 ##软件生长的方式###组合###继承 ##面向对象设计的概念###封装封装的越好耦合性越低###抽象抽象的越好复用性欲强###接口###模块###分层 ##软件设计的基本问题关于软件怎么生长的问题 组件.联系 封装.抽象|复用.耦合. 模块.分成|组合.继承. 面向对象设计的思想与基本概念 软件的根

面向对象中一些容易混淆的概念

静态变量和成员变量的区别 * 静态变量也叫类变量  成员变量也叫对象变量 * A:所属不同 * 静态变量属于类,所以也称为为类变量 * 成员变量属于对象,所以也称为实例变量(对象变量) * B:内存中位置不同 * 静态变量存储于方法区的静态区 * 成员变量存储于堆内存 * C:内存出现时间不同 * 静态变量随着类的加载而加载,随着类的消失而消失 * 成员变量随着对象的创建而存在,随着对象的消失而消失 * D:调用不同 * 静态变量可以通过类名调用,也可以通过对象调用 * 成员变量只能通过对象名调

PHP面向对象编程 对象的基本概念

再次梳理一下面向对象编程的要点. 此文是以php为例,但思想是通用的. 总结的PHP面向对象编程笔记 对象的基本概念 对象的基本构成 对象包含两部分 一.对象的组成元素 是对象的数据模型,用于描述对象的数据. 又被称为对象的属性,或对象的成员变量. 二.对象的行为 是对象的行为模型,用于描述对象能够做什么. 又被称为对象的方法. 对象的特点 1 每个对象都是独一无二的 2 对象是一个特定事物,他的职能是完成特定功能 3 对象是可以重复利用的 面向对象的基本概念 面向对象就是在编程的时候数据结构形

面向对象的核心概念

1.面向对象的核心概念 从理论上说,面向对象技术拥有四大基本特性. (1)封装 这是一种隐藏信息的特征.封装这一特性不仅大大提高了代码的易用性,而且还使得类的开发者可以方便的更换新的算法,这种变化不会影响使用类的外部代码.可以用以下公式展示类的封装特性: 封装的类=数据+对此数据所进行的操作(即算法) 通俗的说,封装就是:包起外界不必需要知道的东西,只向外界展露可供展示的东西. 在面向对象理论中,封装这个概念拥有更为宽广的含义.小到一个简单的数据结构,大到一个完整的软件子系统,静态的如某软件系统

面向对象的基本概念_7

一.基本概念 1.类和对象是面向对象中的两个基本概念 2."类"指的是一类实物,是一个抽象的概念 3."对象"是属于某个类中的一个实体,是一个具体存在的实物 # 类是一种"模板",可以通过这种模板创建出不同的对象"实例" # 对象"实例"是类"模板"的一个具体实现 # 一个类中可以有很多对象,但是一个对象必然属于某个类.

面向对象高级——接口的基本概念和对象的多态性

接口 需要掌握接口的定义格式及使用 掌握接口与抽象类的关系 具体内容: 接口是Java中最重要的概念,接口可以理解为一种特殊的类,里面全部是由全局常量和公共的抽象方法所组成. 如果一个类中完全是由全局常量(static final声明)和抽象方法组成,就可以将其定义成一个接口. 接口的定义格式: interface 接口名称{    全局常量:    抽象方法: }   interface A{ // 定义接口A public static final String AUTHOR = "刘勋&q

js面向对象学习 - 对象概念及创建对象

原文地址:js面向对象学习笔记 一.对象概念 对象是什么?对象是“无序属性的集合,其属性可以包括基本值,对象或者函数”.也就是一组名值对的无序集合. 对象的特性(不可直接访问),也就是属性包含两种,数据属性和访问器属性. 1.数据属性又包含 Configurable //表示能否通过delete删除,默认为true: Enumerable //表示能否通过for-in循环返回属性,默认为true; Writable  //表示能否修改属性的值,默认为true; Value            

Python基础之面向对象基本概念

面向过程和面向对象概念 过程和函数:过程类似于函数,只能执行,但是没有返回结果:函数不仅能执行,还能返回结果. 面向过程和面向对象 基本概念 面向过程-怎么做 把完成某一个需求的所有步骤从头到尾逐步实现: 根据开发需求,将某些功能独立的代码封装成一个又一个函数: 最后完成的代码,就是顺序的调用不同的函数. 特点 注重步骤和过程,不注重职责分工: 如果复杂需求,代码会变得很复杂: 开发复杂项目,没有固定的套路,开发难度很大. 面向对象-谁来做 相比较函数,面向对象是更大的封装,根据职责在一个对象中

js面向对象及原型(javaScript高级程序设计第3版)

一.创建对象 创建一个对象,然后给这个对象新建属性和方法. var box = new Object(); //创建一个Object对象 box.name = 'Lee'; //创建一个name属性并赋值 box.age = 100; //创建一个age属性并赋值 box.run = function () { //创建一个run()方法并返回值 return this.name + this.age + '运行中...'; }; alert(box.run()); //输出属性和方法的值 上面