Javascript基础与面向对象基础~第八讲 从人类的起源谈面向对象

我很荣幸来写这个结局,有时,我们看人,物,事需要用心去看,而不是用眼睛,因为用眼睛看到的往往是事物的假像,在这里对我最可爱的兄弟说一声,对不起。

从人类的起源谈面向对象,事实上主要说的是面向对象,现在我简单来说一下面向对象的特性吧,当你把一个程序写成面向对象的之后,它将有三个好处,即

封装,继承和多态,这是所有面向对象语言的一个共性,而对于JS这个语言来说,也可以借鉴一下,如JS里实现封装,JS里的继承等等。

JS封装:

当我们干某件事时,需要将一些代码组织在一起,形成一个function,而这个过程我们称为封装,而在使用这个功能时,只要知识function的方法签名即可,你不

需要管它的实现细节。代码如:

//验证表单
function chkFormFun(name,password,email){
if(name==''){
 alert('用户名不能为空');
 return false;
 }
if(password==''){
  alert('密码不能为空');
  return false;
 }
if(email==''){
  alert('Email不能为空');
  return false;
 }
return true;
}

我们要需要表单验证的地方,直接调用chkFormFun这个方法即可,无需了解它的实现细节。

JS中的继承:

在部分知识我在第四讲 Javascript中的类对象中有比较详细的介绍,各位可以去查看,而继承的主要思想已经它会将一类对象的共有属性和方法提取到一个新对象

中,这个对象我们称为基类,而其实相关对象可以去继承它,这样基类中的信息将被子类完整继承,并且子类可以根据自己的需要,去重写基类的属性和方法。

由于JS没有提供对象的继承机制,所以我们需要使用一些JS技巧来实现这个效果,它的原则如下:

1 在子类构造函数(constructor)中调用父类构造函数(父类.call()).

2 修改子类prototype(原型链)属性为父类的实例.(prototype一般用来实现对函数的扩展,Dog.prototype = new AnimalFun();表示对父类AnimalFun进行扩展)

3 重置子类的prototype的constructor属性为子类.

JS中的类

下面定义了一个和人类有关的代码,它体现了JS中的类,类中的属性,及类的行为是如何实现的

var Person={ //人对象
  Name:'zzl',//属性
  Facial:[‘Eye’,‘Nose’,‘Mouth’],//属性
  Work:function(){//方法
  console.log(this.Name+',这个人开始上班了');
 }
}

再调用这个人类对象时,可以这样:

console.log("人的姓名:"+Person.Name);

console.log("人的五官:"+Person.Facial);

Person.Work();//人要上班了

 最后祝所有的好人都交到好的朋友,好的知己,最后感谢老天给我一个最好的朋友,谢谢!

感谢阅读!

时间: 2024-09-12 23:34:12

Javascript基础与面向对象基础~第八讲 从人类的起源谈面向对象的相关文章

Javascript基础与面向对象基础~第一讲 啥叫编程,啥叫程序员

啥叫编程,啥叫程序员?这是一个有意思的问题,呵呵! 啥叫编程 编程其时很简单,就是把一些抽象的东西通过代码的方式表现出现,而代码我们通常叫它开发语言,我们使用开发语言完成某种功能的过程,叫做编程! 啥叫程序员 程序员是一种有思想,有干劲,有热情,有梦想,而又与常人在某些地方不同的人,网上有很多说法,也有很多定义,如程序员应该叫苦B程序员,程序员应该叫码农,程序员应该叫IT民工等等,但我并不这样认为,程序员是可以被人们尊敬的,他们绝对是对未来有着美好希望,对工作有着执着的追求,对周边需要帮助的人有

Javascript基础与面向对象基础~第四讲 Javascript中的类对象

今天来说JS中如何实现类(class),事实上本应该昨天晚上写的,可我失言了,在些说一声"抱歉"!JS中的类是JS面向对象的基础,也是我最拿手的东西,你写的代码能否提高一个层次,一般是从这点上看出来的. 占占对类的定义: 类是对现实中的事物的抽象,一个类一般由属性和方法构成,属性是一些固定的信息,而方法是类的某种行为,类往往用来抽象一些复杂的对象,类与类这间可以进行继承,一般通过JS的function实现,JS中的类对象是实现JS面向对象的基础. 占占对结构体的定义: 一个结构体也是对

Javascript基础与面向对象基础~Javascript中的语句如何被执行,如何改变执行顺序

本讲主要是JS语言中的代码如何被解释执行的,这个问题其实和其它语言是一样的,程序执行顺序为"从上到下",当然如果代码中有分支,它的执行顺序可能有所改变,而这种支在程序设计中叫做"分支结构(条件结构)",再或者某个操作需要反复执行10次,这在程序设计中叫做"循环结构". 正常的程序结构 //普通的结构 var info = "hello world" console.log(info); 带有分支的程序结构 //IF条件结构 v

Javascript基础与面向对象基础~第五讲 Javascript中的方法,类中的方法

上一文章主要说的是JS中的类,有很多朋友回复了我的文章,在此很感谢大家,也对一些朋友提出的问题进行了回复,"类"这东西,只是一种思想,我们不应该把重点放在"某种语言是否提供类,或者是否实现了类",这是不重要的,重要的是面向对象中的类的思想! 今天主要说的是方法,JS中的方法也叫做函数function,它将一些有关系的代码组织在一起,形成一个整体,这类似于面向对象中的封装,你不需要了解方法的实现细节,你只要去调用它,了解方法的签名即可. 最简单的函数(方法): <

php代码之面向对象基础一

这篇文章不适合于初学者看,对php有一定了解的可以看一下,补充或者温故一下php面向对象里的一些特性. 一.何为面向对象? 介个问题,虽然略知一二,却感觉依然拿不出手,只能说将万事万物皆看为对象,只有在开发中才能体会出何为面向对象,只说也是徒然,但因为php大多用在web开发,所以,即使不使用面向对象也能运行的不错,之前在做c++开发时,设计给你个功能界面,看到这个界面,第一件事就是像美工切图一样的切成一个个的对象,然后,确定各个对象之间的关系,最后进行开发,哪儿都充斥着此思想. 什么是类?什么

Java编程那些事儿57—面向对象基础

第八章 面向对象 在程序中,最核心的是数据结构和算法,不同的程序需要根据需要设计不同的数据结构,然后依赖程序的功能以及数据结构设计对应的算法,这种设计方式是程序的底层设计,也就是解决具体的功能. 当程序项目复杂到一定程度时,就不仅要专注于底层的设计,更要对程序的结构进行设计,面向对象(Object-Oriented,简称OO)就是一种常见的程序结构设计方法. 面向对象思想的基础是将相关的数据和方法放在一起,组合成一种新的复合数据类型,然后使用新创建的复合数据类型作为项目的基础. 8.1 面向对象

oc问题-Objective-C的面向对象基础实验问题

问题描述 Objective-C的面向对象基础实验问题 实验内容: 1. 编写一个简单的学生类Student,学生类中有学号和年龄两个成员变量,并且写了一个打招呼方法,然后在main函数中实例化几个学生对象,并且为这些对象的成员赋值,并且调用打招呼方法. 2.在实验1的学生类Student的基础上添加便利初始化函数和便利构造器,并且修改实验1中main函数的代码,将创建对象及赋值的语句修改为使用便利初始化函数和便利构造器来创建对象. 3.从Objective-C2.0开始,可自动生成设置函数方法

Net精品就业班培训C#面向对象基础

问题描述 传智播客.Net精品就业班培训C#面向对象基础13:常量与静态成员119G网盘下载地址:http://d.119g.com/f/D65F7ABEAEC903E9.html传智播客.Net精品就业班培训C#面向对象基础12:异常与异常处理119G网盘下载地址:http://d.119g.com/f/109C0765427BC008.html传智播客.Net精品就业班培训C#面向对象基础11:抽象类接口119G网盘下载地址:http://d.119g.com/f/DD678667CB4DE

设计模式之面向对象基础

        最近看设计模式,这本书我特别喜欢,内容也很好理解,读起来有些上瘾,哈哈,一开始看了看面向对象基础,之前接触过面对对象基础,对面向对象三大特性有了进一步的理解,下面做个总结:                 1.封装                       概念:每个对象都包含它能进行操作所需要的所有信息,这个特性称为封装.                       理解:就像一个大盒子,它具有某类事物的共同特性,我需要做的就是将这些共性实例化为个例,比如Cat类实例化为名为