面向对象思想

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)

代码重用

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏喵了个咪的博客空间

zephir-(10)内置函数

#zephir-内置函数# ? ##前言## 先在这里感谢各位zephir开源技术提供者 嗨!大家好呀,今天要和大家一同学习zephir的内置函数,学过PHP的...

3708
来自专栏noteless

[五]java函数式编程归约reduce概念原理 stream reduce方法详解 reduce三个参数的reduce方法如何使用

java8 流相关的操作中,我们把它理解 "累加器",之所以加引号是因为他并不仅仅是加法

3143
来自专栏阿凯的Excel

Python读书笔记(数字型数据)

Python与其它编程语言一样,常见的数字型无法整型(int)和浮点型两种(Float)两种。 整型就是整数,浮点型就是小数。 如果在Python中输入一个数字...

3805
来自专栏逸鹏说道

我为NET狂面试题-基础篇-答案

面向过程: 答案:图片只贴核心代码,完整代码请打开解决项目查看 (答案不唯一,官方答案只供参考,若有错误欢迎提出~) 99乘法表 https://githu...

36113
来自专栏Python爬虫与数据挖掘

Python正则表达式初识(四)

普天同庆的日子里,送出最真的祝福,祝祖国繁荣昌盛,祝朋友事业有成,祝父母身体健康,祝大家永远开心,祝所有人幸福平安~~

693
来自专栏java一日一条

Java中有关Null的9件事

对于Java程序员来说,null是令人头痛的东西。时常会受到空指针异常(NPE)的骚扰。连Java的发明者都承认这是他的一项巨大失误。Java为 什么要保留nu...

972
来自专栏C语言及其他语言

C语言的数据类型

变量与常量数据 在程序的世界中,可以让计算机按照指令做很多事情,如进行数值计算、图像显示、语音对话、视频播放、天文计算、发送邮件、游戏绘图以及任何我们可以想...

5145
来自专栏工科狗和生物喵

【计算机本科补全计划】C++ Primer:指针和const限定符

正文之前 今天下午看了一下午的计算机组成与设计,结果好死不死的看到了设计部分--处理器的设计。天哪,我现在还只是一个准备给人装一台电脑做实验田的家伙,连用都不咋...

2834
来自专栏java一日一条

如何读懂并写出装逼的函数式代码

今天在微博上看到了 有人分享了下面的这段函数式代码,我把代码贴到下面,不过我对原来的代码略有改动,对于函数式的版本,咋一看,的确令人非常费解,仔细看一下,你可能...

682
来自专栏Java3y

插入排序就这么简单

插入排序就这么简单 从上面已经讲解了冒泡和选择排序了,本章主要讲解的是插入排序,希望大家看完能够理解并手写出插入排序的代码,然后就通过面试了!如果我写得有错误的...

4848

扫码关注云+社区

领取腾讯云代金券