[置顶] 面向对象思想

 

1、基本概念

1.1 类和对象初探

:描述了具有相同特性(属性)和相同行为(操作方法)的对象。在程序中,类就是数据类型。

1.2 内置数据理性与函数

计算机在存储数据时必须跟踪3个基本属性:

1)        信息存储在何处;

2)        信息的值是多少;

3)        存储的信息是什么类型的。

变量:在值上可以发生变化的量;常量:不发生变化的。

函数:实现某种功能的黑匣子。1、我传给你的是什么信息;2、你对信息做了哪些处理;3、你返回给我的信息是什么。

Eg:

int fnAddNum(int a,int b)

{

         returnx+y;

}

:return的含义是向调用者返回紧跟在他后面的信息

2、深入讨论面向对象

2.1 类型的内部细节

面向对象的编程语言的最大特点是可以根据需求编写自己所需的数据类型。

对象  具有           所描述的属性和方法。

(电视机具有电视原理图  所描述的属性和方法)

类是属性与方法的集合。而这些属性和方法可以定义为private,public或者是protected。

为了实现数据的封装,提高数据的安全性,我们一般会把类的属性申明为private,而把类的方法申明为public。

Eg:

//员工类

public class Employee

{

         privatestring name;

         privateage int;

         privatechar sex;

        

         publicvoid setName(String strName)//修改员工的姓名

         {

                   name=strName;

         }

        

         publicstring getName()//获取员工姓名

         {

                   returnname;

         }

}

修改姓名《—setName()《—getName()

Init()方法是完成初始化操作的;

Start()是用来启动浏览器的主线程;

Paint()是用来显示Apple的界面。

每位员工(对象)都有一份午饭(属性),但所有的员工(对象)只有一个微波炉(方法)。所有的员工(对象)都可以用这个微波炉(方法)来加热自己的午饭(属性)的冷热。为此,方法只有一份,供所有的对象使用,而属性是每个对象一份。

2.2 深入讨论函数

2.2.1 构造函数

构造函数是对属性的初始化。

特征:

是唯一没有返回值的函数;

它的名称必须要与类名称相同;

它必须被申明为public;

可以对它进行重载;

它在创建对象时会进行自被调用。

功能:

对类中的属性进行初始化。

Eg:

//员工类

public class Employee

{

         privatestring name;

         privateage int;

         privatechar sex;

        

         //构造函数

         publicEmployee(string strName,int intAge,char chrSex)

         {

                   name=strName;

                   age=intAge;

                   sex=chrSex;

         }

}

如何创建呢:lucy=new Employee(“Lucy”,14,’M’)

2.2.2 重载构造函数

1、函数重载是一个类中申明了多个同名的方法,但有不同的参数个数和参数类型。

2、函数重构是指子类中申明与父类中同名的方法,从而覆盖了父类的方法。

1、重载

Eg:

int intA,intB,intC;

intA=10;

intB=20;

intC=intA+intB;

string strA,strB,strC;

strA="Hello ";

strB="World";

strC=strA+strB;

说明:同一个操作符“+”,实现了不同的功能。-------操作符重载

2.2.3 初始化与赋值

         初始化与赋值是两个不同的概念。

把一个变量或者函数申明为static(静态),其目的是为某个类的所有对象的属性或方法分配单一的存储空间。

静态变量是属于类的,所有的对象都可以通过方法去修改它,而下一次修改是基于上一次的。

静态函数也是属于类的,调用的时候可以使用类名直接调用。

2.3 继承(C#:,Java:extends)

代码重用

子类拥有父类所拥有的方法和属性。

原文地址:https://www.cnblogs.com/xinyuyuanm/p/3019525.html