Java/C3/Subclassing-and-Method-Overriding/Punjabi
From Script | Spoken-Tutorial
|
| |
00:01 | ਸਤਿ ਸ਼੍ਰੀ ਅਕਾਲ ਦੋਸਤੋ, “Sub classing” and “Method overriding” ‘ਤੇ ਸਪੋਕਨ ਟਿਊਟੋਰਿਅਲ ਵਿੱਚ ਤੁਹਾਡਾ ਸਾਰਿਆ ਦਾ ਸਵਾਗਤ ਹੈ । | |
00:06 | ਇਸ ਟਿਊਟੋਰਿਅਲ ਵਿੱਚ ਅਸੀਂ ਸਿੱਖਾਂਗੇ: “sub classing”, “extends” ਕੀਵਰਡ ਅਤੇ “method overriding” | |
00:15 | ਇੱਥੇ ਅਸੀਂ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹਾਂ:”ਊਬੰਟੁ ਲਿਨਕਸ ਵਰਜ਼ਨ 12.04”, “JDK” 1.7, “Eclipse” 4.3.1 | |
00:25 | ਇਸ ਟਿਊਟੋਰਿਅਲ ਨੂੰ ਜਾਣਨ ਦੇ ਲਈ, ਤੁਹਾਨੂੰ “Java” ਅਤੇ Eclipse IDE ਦੀ ਮੁੱਢਲੀ ਜਾਣਕਾਰੀ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ । | |
00:32 | ਜੇ ਨਹੀਂ ਹੈ ਤਾਂ, ਸੰਬੰਧਿਤ Java ਟਿਊਟੋਰਿਅਲਸ ਦੇ ਲਈ, ਕ੍ਰਿਪਾ ਕਰਕੇ ਸਾਡੀ ਵੈੱਬਸਾਈਟ ‘ਤੇ ਜਾਓ । | |
00:37 | ਸਭ ਤੋਂ ਪਹਿਲਾਂ, ਅਸੀਂ ਸਿੱਖਾਂਗੇ ਕਿ sub classing ਕੀ ਹੈ । | |
00:41 | ਇਹ ਇੱਕ ਮੌਜੂਦਾ class ਤੋਂ ਨਵੀਂ class ਬਣਾਉਣ ਦਾ ਇੱਕ ਤਰੀਕਾ ਹੈ । | |
00:46 | ਨਵੀਂ ਕਲਾਸ “subclass” ਜਾਂ “derived class” ਜਾਂ “child class” ਬਣਦੀ ਹੈ । | |
00:53 | ਪਹਿਲਾਂ ਤੋਂ ਹੀ ਮੌਜੂਦ ਕਲਾਸ ਨੂੰ “super class” ਜਾਂ “base class” ਜਾਂ “parent class” ਕਹਿੰਦੇ ਹਨ । | |
01:00 | ਹੁਣ, ਮੈਂ ਤੁਹਾਨੂੰ ਦਿਖਾਉਂਦਾ ਹਾਂ ਕਿ subclass ਕਿਵੇਂ ਬਣਾਉਣੀ ਹੈ । ਮੈਂ ਪਹਿਲਾਂ ਤੋਂ ਹੀ My Project ਨਾਂ ਵਾਲਾ ਇੱਕ ਪ੍ਰੋਜੈਕਟ ਬਣਾਇਆ ਹੈ । | |
01:10 | ਮੈਂ ਇਸ ਵਿੱਚ Employee ਨਾਂ ਵਾਲੀ ਇੱਕ ਕਲਾਸ ਬਣਾਈ ਹੈ । | |
01:15 | ਇਸ ਵਿੱਚ ਵੈਰੀਏਬਲਸ name ਅਤੇ “email_address” ਹੈ । | |
01:19 | ਇਸ ਵਿੱਚ ਕਲਾਸ ਦੇ ਲਈ “setter” ਅਤੇ “getter” ਮੈਥਡ ਵੀ ਹੈ । | |
01:24 | ਇਸ ਵਿੱਚ “get Details ()” ਮੈਥਡ ਹੈ । ਇਹ ਮੈਥਡ “name” ਅਤੇ “email_address” ਰਿਟਰਨ ਕਰਦਾ ਹੈ | |
01:31 | ਹੁਣ, Manager ਕਲਾਸ ‘ਤੇ ਆਉਂਦੇ ਹਾਂ । | |
01:35 | ਇਸ ਵਿੱਚ ਵੈਰੀਏਬਲਸ, “name, email_address” ਅਤੇ “department” ਹੈ । | |
01:40 | ਅਸੀਂ ਵੇਖ ਸਕਦੇ ਹਾਂ ਕਿ ਕੁੱਝ ਵੈਰੀਏਬਲਸ “Employee” ਅਤੇ “Manager class” ਦੋਨਾਂ ਵਿੱਚ ਸਮਾਨ ਹਨ । | |
01:47 | “name” ਅਤੇ “email_address” Employee ਕਲਾਸ ਵਿੱਚ ਹਨ । ਅਸੀਂ ਵੇਖ ਸਕਦੇ ਹਾਂ ਕਿ ਇਹ Manager ਕਲਾਸ ਵਿੱਚ ਵੀ ਹੈ । | |
01:57 | ਇਸ ਤਰ੍ਹਾਂ ਨਾਲ, Manager ਕਲਾਸ ਨੂੰ Employee ਕਲਾਸ ਦੀ subclass ਬਣਾਈ ਜਾ ਸਕਦੀ ਹੈ । | |
02:03 | ਇਸ ਦੇ ਲਈ, ਸਾਨੂੰ Manager ਕਲਾਸ ਵਿੱਚ ਕੁੱਝ ਤਬਦੀਲੀ ਕਰਨੀ ਪਵੇਗੀ । | |
02:08 | public class Manager ਦੇ ਬਾਅਦ, ਟਾਈਪ ਕਰੋ: “extends Employee” | |
02:14 | ਅਸੀਂ ਮੌਜੂਦਾ ਕਲਾਸ ਤੋਂ subclass ਬਣਾਉਣ ਲਈ extends ਕੀਵਰਡ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਾਂ । | |
02:21 | ਦੋਵੇ ਕਲਾਸਾਂ ਵਿੱਚ ਸਮਾਨ ਡੁਪਲੀਕੇਟ ਵੈਰੀਏਬਲਸ ਨੂੰ ਹਟਾਓ । | |
02:26 | ਇਸ ਲਈ: Manager ਕਲਾਸ ਤੋਂ “name” ਅਤੇ “email_address” ਹਟਾ ਦਿਓ । | |
02:32 | ਇਸਦੇ ਇਲਾਵਾ “setter” ਅਤੇ “getter” ਮੈਥਡ ਵੀ ਹਟਾ ਦਿਓ । | |
02:37 | Manager ਕਲਾਸ ਵਿੱਚ, ਸਾਡੇ ਕੋਲ ਕੇਵਲ ਇੱਕ department ਵੈਰੀਏਬਲ ਹੋਵੇਗਾ । | |
02:43 | ਸਾਡੇ ਕੋਲ department ਦੇ ਲਈ “setter” ਅਤੇ “getter” ਮੈਥਡ ਵੀ ਹੈ । | |
02:59 | ਇਸ ਤਰ੍ਹਾਂ, Manager ਕਲਾਸ Employee ਕਲਾਸ ਦੇ ਮੈਂਬਰਸ ਨੂੰ ਸੰਭਾਲਦਾ ਹੈ । | |
02:55 | ਇੱਕ ਕਲਾਸ ਨੂੰ ਹੋਰ ਕਲਾਸਾਂ ਵਿੱਚ ਵਿਸਥਾਰ ਕਰਨ ਦਾ ਇਹ ਤਰੀਕਾ single inheritance ਕਹਾਉਂਦਾ ਹੈ । | |
03:02 | ਮੈਂ ਇੱਕ ਹੋਰ Test Employee ਨਾਂ ਵਾਲੀ ਕਲਾਸ ਵੀ ਬਣਾਈ ਹੈ । | |
03:08 | Main ਮੈਥਡ ਵਿੱਚ, ਅਸੀਂ Manager ਕਲਾਸ ਦਾ object ਬਣਾਵਾਂਗੇ । | |
03:14 | ਇਸ ਲਈ: main ਮੈਥਡ ਵਿੱਚ, ਟਾਈਪ ਕਰੋ “Manager manager” equal to “new Manager” parentheses | |
03:23 | ਫਿਰ, ਅਸੀਂ Manager ਕਲਾਸ ਦੇ setter ਮੈਥਡ ਨੂੰ ਕਾਲ ਕਰਾਂਗੇ । | |
03:28 | ਤਾਂ, ਟਾਈਪ ਕਰੋ manager dot set Name ਬਰੈਕੇਟ ਵਿੱਚ, ਅਤੇ ਡਬਲ ਕੋਟਸ ਵਿੱਚ Nikkita Dinesh | |
03:38 | ਫਿਰ ਟਾਈਪ ਕਰੋ: “manager” dot “set Email” ਬਰੈਕੇਟਸ ਅਤੇ ਡਬਲ ਕੋਟਸ ਵਿੱਚ abc at gmail dot com | |
03:49 | ਫਿਰ ਟਾਈਪ ਕਰੋ: manager dot set Department ਬਰੈਕੇਟਸ ਵਿੱਚ ਅਤੇ ਡਬਲ ਕੋਟਸ ਵਿੱਚ Accounts | |
03:57 | ਤੁਸੀਂ ਕੋਈ ਵੀ “name, email address” ਅਤੇ “department” ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ । | |
04:02 | ਹੁਣ, Manager ਆਬਜੈਕਟਸ ਦੀ ਵਰਤੋਂ ਕਰਕੇ “get Details ()” ਮੈਥਡ ਨੂੰ ਕਾਲ ਕਰਦੇ ਹਾਂ । | |
04:08 | ਇਸ ਲਈ: ਟਾਈਪ ਕਰੋ: System.out.println ਬਰੈਕੇਟਸ ਵਿੱਚ manager dot get Details | |
04:17 | ਹੁਣ, ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਸੇਵ ਅਤੇ ਰਨ ਕਰੋ । | |
04:21 | ਅਸੀਂ ਵੇਖ ਸਕਦੇ ਹਾਂ ਕਿ ਸਾਨੂੰ ਆਉਟਪੁਟ ਪ੍ਰਾਪਤ ਹੋਈ ਹੈ:
“Name: Nikkita Dinesh” “Email:abc@gmail.com” | |
04:30 | ਇੱਥੇ, Manager ਕਲਾਸ ਦਾ ਆਬਜੈਕਟ get Details () ਮੈਥਡ ਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ । | |
04:36 | ਹੁਣ, Manager ਕਲਾਸ ‘ਤੇ ਆਓ । | |
04:39 | ਅਸੀਂ ਵੇਖ ਸਕਦੇ ਹਾਂ ਕਿ ਇੱਥੇ get Details () ਮੈਥਡ ਨਹੀਂ ਹੈ । | |
04:43 | ਪਰ, ਫਿਰ ਵੀ ਸਾਨੂੰ ਆਉਟਪੁਟ ਪ੍ਰਾਪਤ ਹੋਈ ਹੈ । ਇਹ ਇਸ ਲਈ ਕਿਉਂਕਿ, “Manager” ਕਲਾਸ Employee ਕਲਾਸ ਦਾ ਵਿਸਥਾਰ ਕਰਦਾ ਹੈ । | |
04:52 | Manager ਕਲਾਸ ਸਵੈਕਰ ਰੂਪ ਤੋਂ Employee ਕਲਾਸ ਦੇ ਵੈਰੀਏਬਲਸ ਅਤੇ ਮੈਥਡਸ ਨੂੰ ਬਣਾਉਂਦਾ ਹੈ । | |
04:59 | ਇਸ ਲਈ: ਇਹ parent ਕਲਾਸ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ ਜੋ ਕਿ Employee ਹੈ । | |
05:04 | Employee ਕਲਾਸ ‘ਤੇ ਵਾਪਸ ਆਉਂਦੇ ਹਾਂ । ਇਹ ਇੱਥੇ get Details () ਮੈਥਡ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ । | |
05:11 | ਨੋਟ ਕਰੋ, ਅਸੀਂ department ਰਿਟਰਨ ਨਹੀਂ ਕੀਤੀ ਹੈ । ਫਲਸਰੂਪ, ਇਹ ਆਉਟਪੁਟ ਵਿੱਚ department ਪ੍ਰਿੰਟ ਨਹੀਂ ਕਰਦਾ ਹੈ । | |
05:20 | ਹੁਣ, get Details ਮੈਥਡ ਨੂੰ private ਵਿੱਚ ਬਦਲਦੇ ਹਾਂ । ਫਾਇਲ ਨੂੰ ਸੇਵ ਕਰੋ । | |
05:27 | ਅਸੀਂ ਵੇਖ ਸਕਦੇ ਹਾਂ ਕਿ ਸਾਨੂੰ Test Employee ਕਲਾਸ ਵਿੱਚ ਇੱਕ ਕੰਪਲੈਕਸ ਐਰਰ ਮਿਲਦੀ ਹੈ । | |
05:34 | ਇਹ ਦਰਸਾਉਂਦਾ ਹੈ: “The method getDetails () from the type Employee is not visible” | |
05:40 | ਇਸ ਦਾ ਮਤਲੱਬ ਹੈ ਕਿ getDetails () ਮੈਥਡ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ । | |
05:45 | ਇਹ ਇਸ ਲਈ ਕਿਉਂਕਿ ਅਸੀਂ getDetails () ਮੈਥਡ ਨੂੰ private ਕੀਤਾ ਸੀ । | |
05:52 | sub class ਇਸਦੇ super class ਦੇ private ਮੈਂਬਰਸ ਨੂੰ ਨਹੀਂ ਸੰਭਾਲਦਾ ਹੈ । | |
05:58 | Subclass super class ਦੇ private ਮੈਂਬਰਸ ਨੂੰ ਸਿੱਧਾ ਐਕਸੈਸ ਨਹੀਂ ਕਰ ਸਕਦਾ ਹੈ । | |
06:04 | superclass public ਜਾਂ protected ਮੈਥਡ ਹੋ ਸਕਦਾ ਹੈ । | |
06:09 | ਇਹ ਮੈਥਡਸ ਉਸਦੇ private ਫੀਲਡਸ ਨੂੰ ਐਕਸੈਸ ਕਰ ਸਕਦੇ ਹਨ । | |
06:13 | subclass ਇਹਨਾਂ ਮੈਥਡਸ ਦੇ ਰਾਹੀਂ private ਫੀਲਡਸ ਨੂੰ ਵੀ ਐਕਸੈਸ ਕਰ ਸਕਦਾ ਹੈ । | |
06:18 | ਇਸ ਲਈ: ਇਸਨੂੰ public ਵਿੱਚ ਵਾਪਸ ਬਦਲਦੇ ਹਾਂ । | |
06:21 | ਹੁਣ, Manager ਕਲਾਸ ਵਿੱਚ getDetails ਮੈਥਡ ਸ਼ਾਮਿਲ ਕਰਦੇ ਹਾਂ । | |
06:27 | ਇਹ ਮੈਥਡ “name, email_address” ਅਤੇ “department” ਰਿਟਰਨ ਕਰੇਗਾ । | |
06:33 | ਇਸ ਲਈ: ਟਾਈਪ ਕਰੋ “public String getDetails” ਬਰੈਕੇਟਸ | |
06:39 | ਮੈਥਡ ਵਿੱਚ ਟਾਈਪ ਕਰੋ: “return” ਬਰੈਕੇਟਸ ਵਿੱਚ “Name” plus “getName ()” plus “slash n” plus “Email” plus “getEmail ()” plus “slash n” plus “Manager of” plus “getDepartment ()” ਸੈਮੀਕਾਲਨ । ਫਾਇਲ ਨੂੰ ਸੇਵ ਕਰੋ । | |
07:07 | ਨੋਟ ਕਰੋ ਕਿ ਹੁਣ, ਸਾਡੇ ਕੋਲ getDetails ਮੈਥਡ Manager ਅਤੇ Employee ਦੋਵੇਂ ਕਲਾਸਾਂ ਵਿੱਚ ਹਨ । | |
07:15 | ਮੈਥਡ ਦਾ “name, return type” ਅਤੇ “argument list” ਦੋਵੇਂ ਕਲਾਸਾਂ ਵਿੱਚ ਸਮਾਨ ਹਨ । | |
07:22 | subclass ਵਿੱਚ ਮੈਥਡ parent ਕਲਾਸ ਵਿੱਚ ਮੈਥਡ ਨੂੰ override ਕਰਨ ਨੂੰ ਕਹਿੰਦਾ ਹੈ ਜੇ:
“name” “Return type” “argument list” ਬਿਲਕੁੱਲ ਸਮਾਨ ਹੋਵੇ । | |
07:33 | Manager ਕਲਾਸ ‘ਤੇ ਵਾਪਸ ਆਓ । | |
07:36 | getDetails () ਮੈਥਡ ਤੋਂ ਪਹਿਲਾਂ ਟਾਈਪ ਕਰੋ:@ Override | |
07:43 | ਇਹ ਇੱਕ override annotation ਹੈ । ਇਹ ਸੰਕੇਤ ਕਰਦਾ ਹੈ ਕਿ ਮੈਥਡ superclass ਵਿੱਚ ਮੈਥਡ ਨੂੰ override ਕਰਨ ਦੇ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ । | |
07:53 | ਹੁਣ, ਵੇਖਦੇ ਹਾਂ ਕਿ annotation ਕੀ ਹੈ । | |
07:57 | “Annotations:”
at (@) ਚਿੰਨ੍ਹ ਕੈਰੇਕਟਰ ਤੋਂ ਨਾਲ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ ਪ੍ਰੋਗਰਾਮ ਦੇ ਬਾਰੇ ਵਿੱਚ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ ਕੋਡ ਦੇ ਆਪਰੇਸ਼ਨ ‘ਤੇ ਕੋਈ ਸਿੱਧਾ ਪ੍ਰਭਾਵ ਨਹੀਂ ਪਾਉਂਦਾ ਹੈ | |
08:10 | ਜੇ ਮੈਥਡ @Override ਦੇ ਨਾਲ annotate ਹੈ, ਕੰਪਾਇਲਰ ਐਰਰ ਪੈਦਾ ਕਰਦਾ ਹੈ ਜੇ: super class ਵਿੱਚ ਐਲਾਨ ਮੈਥਡ override ਨਹੀਂ ਕਰਦਾ ਹੈ । | |
08:23 | method signature ਇਸ ਦੇ super class ਨਾਲੋਂ ਵੱਖਰਾ ਹੈ । | |
08:28 | ਹੁਣ, IDE ‘ਤੇ ਵਾਪਸ ਆਓ । Manager ਕਲਾਸ ‘ਤੇ ਵਾਪਸ ਆਓ । | |
08:34 | “at (@)” ਚਿੰਨ੍ਹ ਕੈਰੇਕਟਰ ਕੰਪਾਇਲਰ ਨੂੰ ਸੰਕੇਤ ਕਰਦਾ ਹੈ ਕਿ annotation ਦੇ ਬਾਅਦ ਕੀ ਹੁੰਦਾ ਹੈ । | |
08:42 | ਇੱਥੇ, ਇਹ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ getDetails () ਮੈਥਡ overridden ਹੈ । | |
08:48 | Test Employee ਕਲਾਸ ‘ਤੇ ਵਾਪਸ ਆਉਂਦੇ ਹਾਂ । | |
08:51 | ਫਾਇਲ ਨੂੰ ਸੇਵ ਕਰੋ ਅਤੇ ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਰਨ ਕਰੋ । | |
08:55 | ਸਾਨੂੰ ਹੇਠ ਲਿਖੀ ਆਉਟਪੁਟ ਮਿਲਦੀ ਹੈ:
“Name:Nikkita Dinesh” “Email:abc @ gmail.com” “Manager of Accounts” | |
09:05 | ਇੱਥੇ, Manager ਕਲਾਸ ਦਾ ਆਬਜੈਕਟ getDetails () ਮੈਥਡ ਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ । | |
09:11 | ਪਰ ਇਸ ਸਮੇਂ, ਇਹ ਆਪ Manager ਕਲਾਸ ਦੇ ਮੈਥਡ ਨੂੰ ਕਾਲ ਕਰ ਰਿਹਾ ਹੈ । | |
09:16 | ਇਸ ਤਰ੍ਹਾਂ, ਅਸੀਂ subclass ਦੁਆਰਾ parent ਕਲਾਸ ਦੇ ਮੈਥਡ ਨੂੰ override ਕਰ ਰਹੇ ਹਾਂ । | |
09:23 | ਸੰਖੇਪ ਵਿੱਚ । ਇਸ ਟਿਊਟੋਰਿਅਲ ਵਿੱਚ ਅਸੀਂ ਸਿੱਖਿਆ:
“Sub classing”ਅਤੇ “Method Overriding” | |
09:31 | ਨਿਰਧਾਰਤ ਕੰਮ ਦੇ ਰੂਪ ਵਿੱਚ, ਇੱਕ Vehicle ਕਲਾਸ ਬਣਾਓ, ਜਿਸ ਵਿੱਚ run ਮੈਥਡ ਹੋਵੇ, ਜੋ ਕਿ “The Vehicle is running” ਪ੍ਰਿੰਟ ਕਰੇ । | |
09:40 | ਇੱਕ Bike ਕਲਾਸ ਵੀ ਬਣਾਓ, ਜਿਸ ਵਿੱਚ run ਮੈਥਡ ਹੋਵੇ, ਜੋ ਕਿ “The Bike is running safely” ਪ੍ਰਿੰਟ ਕਰੇ । | |
09:48 | ਆਉਟਪੁਟ “The Bike is running safely” ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ । | |
09:52 | ਸਪੋਕਨ ਟਿਊਟੋਰਿਅਲ ਪ੍ਰੋਜੈਕਟ ਦੇ ਬਾਰੇ ਵਿੱਚ ਜ਼ਿਆਦਾ ਜਾਣਕਾਰੀ ਲੈਣ ਦੇ ਲਈ, ਹੇਠ ਲਿਖੇ ਲਿੰਕ ‘ਤੇ ਉਪਲੱਬਧ ਵੀਡੀਓ ਨੂੰ ਵੇਖੋ ਇਹ ਸਪੋਕਨ ਟਿਊਟੋਰਿਅਲ ਪ੍ਰੋਜੈਕਟ ਦਾ ਸਾਰ ਕਰਦਾ ਹੈ । ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਚੰਗੀ ਬੈਂਡਵਿਡਥ ਨਹੀਂ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਇਸ ਨੂੰ ਡਾਊਂਨਲੋਡ ਕਰਕੇ ਵੀ ਵੇਖ ਸਕਦੇ ਹੋ । | |
10:06 | ਸਪੋਕਨ ਟਿਊਟੋਰਿਅਲ ਪ੍ਰੋਜੈਕਟ ਟੀਮ - ਸਪੋਕਨ ਟਿਊਟੋਰਿਅਲਸ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਵਰਕਸ਼ਾਪਾਂ ਚਲਾਉਂਦੀ ਹੈ । ਅਤੇ ਆਨਲਾਇਨ ਟੈਸਟ ਪਾਸ ਕਰਨ ਵਾਲਿਆ ਨੂੰ ਪ੍ਰਮਾਣ ਪੱਤਰ ਵੀ ਦਿੰਦੇ ਹਨ । ਜ਼ਿਆਦਾ ਜਾਣਕਾਰੀ ਦੇ ਲਈ, ਕ੍ਰਿਪਾ ਕਰਕੇ contact@spoken-tutorial.org ‘ਤੇ ਲਿਖੋ । | |
10:21 | ਸਪੋਕਨ ਟਿਊਟੋਰਿਅਲ ਪ੍ਰੋਜੈਕਟ Talk to a Teacher ਪ੍ਰਾਜੈਕਟ ਦਾ ਇੱਕ ਹਿੱਸਾ ਹੈ । ਇਹ ਭਾਰਤ ਸਰਕਾਰ ਦੇ ਐਮਐਚਆਰਡੀ ਦੇ “ਆਈਸੀਟੀ ਵਲੋਂ ਰਾਸ਼ਟਰੀ ਸਾਖਰਤਾ ਮਿਸ਼ਨ” ਦੁਆਰਾ ਪ੍ਰਮਾਣਿਤ ਹੈ । ਇਸ ਮਿਸ਼ਨ ‘ਤੇ ਜ਼ਿਆਦਾ ਜਾਣਕਾਰੀ http://spoken-tutorial.org/NMEICT-Intro ‘ਤੇ ਉਪਲੱਬਧ ਹੈ । | |
10:42 | ਇਹ ਸਕਰਿਪਟ ਨਵਦੀਪ ਦੁਆਰਾ ਅਨੁਵਾਦਿਤ ਹੈ । IIT Bombay ਤੋਂ ਮੈਂ ਨਵਦੀਪ ਤੁਹਾਡੇ ਤੋਂ ਇਜ਼ਾਜਤ ਲੈਂਦਾ ਹਾਂ, ਧੰਨਵਾਦ । | } |