{"id":668,"date":"2014-05-23T00:37:42","date_gmt":"2014-05-23T00:37:42","guid":{"rendered":"http:\/\/blog.wholetomato.com\/?p=668"},"modified":"2019-05-03T17:28:51","modified_gmt":"2019-05-03T21:28:51","slug":"implementing-virtual-methods-with-visual-assist","status":"publish","type":"post","link":"https:\/\/stage.wholetomato.com\/blog\/implementing-virtual-methods-with-visual-assist\/","title":{"rendered":"Implementing Virtual Methods with Visual Assist"},"content":{"rendered":"<p>Visual Assist has a feature\u00e2\u20ac\u201dImplement Virtual Methods\u00e2\u20ac\u201dthat makes it easy to implement an interface, or abstract methods of a base class. You don&#8217;t need to create anything manually.<\/p>\n<p>Move the caret to a base or interface class in the declaration of your derived class, or to\u00c2\u00a0the derived class if you want to implement methods from all bases classes.<\/p>\n<p>Open a refactoring menu\u00e2\u20ac\u201dvia the context menu or Shift+Alt+Q\u00e2\u20ac\u201dand select Implement Virtual Methods.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtual1.png?ssl=1\"><img decoding=\"async\" data-attachment-id=\"678\" data-permalink=\"https:\/\/stage.wholetomato.com\/blog\/implementing-virtual-methods-with-visual-assist\/blogimplvirtual\/\" data-orig-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtual1.png?fit=650%2C244&amp;ssl=1\" data-orig-size=\"650,244\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"blogImplVirtual\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtual1.png?fit=300%2C113&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtual1.png?fit=650%2C244&amp;ssl=1\" class=\"alignnone size-full wp-image-678\" src=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtual1.png?resize=650%2C244&#038;ssl=1\" alt=\"blogImplVirtual\" width=\"650\" height=\"244\" srcset=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtual1.png?w=650&amp;ssl=1 650w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtual1.png?resize=300%2C113&amp;ssl=1 300w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtual1.png?resize=360%2C135&amp;ssl=1 360w\" sizes=\"(max-width: 650px) 100vw, 650px\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<p>A dialog will open, letting you choose the methods to implement.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualdialog.png?ssl=1\"><img decoding=\"async\" data-attachment-id=\"670\" data-permalink=\"https:\/\/stage.wholetomato.com\/blog\/implementing-virtual-methods-with-visual-assist\/blogimplvirtualdialog\/\" data-orig-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualdialog.png?fit=434%2C152&amp;ssl=1\" data-orig-size=\"434,152\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"blogImplVirtualDialog\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualdialog.png?fit=300%2C105&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualdialog.png?fit=434%2C152&amp;ssl=1\" class=\"alignnone size-full wp-image-670\" src=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualdialog.png?resize=434%2C152&#038;ssl=1\" alt=\"blogImplVirtualDialog\" width=\"434\" height=\"152\" srcset=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualdialog.png?w=434&amp;ssl=1 434w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualdialog.png?resize=300%2C105&amp;ssl=1 300w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualdialog.png?resize=360%2C126&amp;ssl=1 360w\" sizes=\"(max-width: 434px) 100vw, 434px\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<p>Visual Assist updates the declaration of your class, and create stubs in its implementation. By default, an exception is placed in the body of each method.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualmethodcreated.png?ssl=1\"><img decoding=\"async\" data-attachment-id=\"679\" data-permalink=\"https:\/\/stage.wholetomato.com\/blog\/implementing-virtual-methods-with-visual-assist\/blogimplvirtualmethodcreated\/\" data-orig-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualmethodcreated.png?fit=524%2C68&amp;ssl=1\" data-orig-size=\"524,68\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"blogImplVirtualMethodCreated\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualmethodcreated.png?fit=300%2C39&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualmethodcreated.png?fit=524%2C68&amp;ssl=1\" class=\"alignnone size-full wp-image-679\" src=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualmethodcreated.png?resize=524%2C68&#038;ssl=1\" alt=\"blogImplVirtualMethodCreated\" width=\"524\" height=\"68\" srcset=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualmethodcreated.png?w=524&amp;ssl=1 524w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualmethodcreated.png?resize=300%2C39&amp;ssl=1 300w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualmethodcreated.png?resize=360%2C47&amp;ssl=1 360w\" sizes=\"(max-width: 524px) 100vw, 524px\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<p>You can change the default by modifying the VA Snippet for &#8220;Create from Usage Method Body&#8221;.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualsnippet.png?ssl=1\"><img decoding=\"async\" data-attachment-id=\"671\" data-permalink=\"https:\/\/stage.wholetomato.com\/blog\/implementing-virtual-methods-with-visual-assist\/blogimplvirtualsnippet\/\" data-orig-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualsnippet.png?fit=827%2C218&amp;ssl=1\" data-orig-size=\"827,218\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"blogImplVirtualSnippet\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualsnippet.png?fit=300%2C79&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualsnippet.png?fit=827%2C218&amp;ssl=1\" class=\"alignnone size-full wp-image-671\" src=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualsnippet.png?resize=660%2C173&#038;ssl=1\" alt=\"blogImplVirtualSnippet\" width=\"660\" height=\"173\" srcset=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualsnippet.png?w=827&amp;ssl=1 827w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualsnippet.png?resize=300%2C79&amp;ssl=1 300w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualsnippet.png?resize=768%2C202&amp;ssl=1 768w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualsnippet.png?resize=360%2C95&amp;ssl=1 360w\" sizes=\"(max-width: 660px) 100vw, 660px\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<p>If you add methods to an interface, repeat the process and Visual Assist will automatically disable existing methods.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualrerun.png?ssl=1\"><img decoding=\"async\" data-attachment-id=\"672\" data-permalink=\"https:\/\/stage.wholetomato.com\/blog\/implementing-virtual-methods-with-visual-assist\/blogimplvirtualrerun\/\" data-orig-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualrerun.png?fit=434%2C171&amp;ssl=1\" data-orig-size=\"434,171\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"blogImplVirtualRerun\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualrerun.png?fit=300%2C118&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualrerun.png?fit=434%2C171&amp;ssl=1\" class=\"alignnone size-full wp-image-672\" src=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualrerun.png?resize=434%2C171&#038;ssl=1\" alt=\"blogImplVirtualRerun\" width=\"434\" height=\"171\" srcset=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualrerun.png?w=434&amp;ssl=1 434w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualrerun.png?resize=300%2C118&amp;ssl=1 300w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualrerun.png?resize=360%2C142&amp;ssl=1 360w\" sizes=\"(max-width: 434px) 100vw, 434px\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<p>The declaration and implementation of your new method will be inserted in the correct locations, relative to the existing methods.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualdeclcreated1.png?ssl=1\"><img decoding=\"async\" data-attachment-id=\"676\" data-permalink=\"https:\/\/stage.wholetomato.com\/blog\/implementing-virtual-methods-with-visual-assist\/blogimplvirtualdeclcreated\/\" data-orig-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualdeclcreated1.png?fit=622%2C132&amp;ssl=1\" data-orig-size=\"622,132\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"blogImplVirtualDeclCreated\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualdeclcreated1.png?fit=300%2C64&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualdeclcreated1.png?fit=622%2C132&amp;ssl=1\" class=\"alignnone size-full wp-image-676\" src=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualdeclcreated1.png?resize=622%2C132&#038;ssl=1\" alt=\"blogImplVirtualDeclCreated\" width=\"622\" height=\"132\" srcset=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualdeclcreated1.png?w=622&amp;ssl=1 622w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualdeclcreated1.png?resize=300%2C64&amp;ssl=1 300w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2014\/05\/blogimplvirtualdeclcreated1.png?resize=360%2C76&amp;ssl=1 360w\" sizes=\"(max-width: 622px) 100vw, 622px\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<p>That&#8217;s all there is to it.<\/p>\n<p><em>This article was contributed by Lei Zhu,\u00c2\u00a0student at the College of San Mateo, CA.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Visual Assist has a feature\u00e2\u20ac\u201dImplement Virtual Methods\u00e2\u20ac\u201dthat makes it easy to implement an interface, or abstract methods of a base class. You don&#8217;t need to create anything manually. Move the caret to a base or&#8230;<\/p>\n","protected":false},"author":28485711,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_jetpack_newsletter_access":"","_jetpack_newsletter_tier_id":0,"footnotes":""},"categories":[672],"tags":[],"class_list":["post-668","post","type-post","status-publish","format-standard","hentry","category-tips-and-tricks"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pfhqii-aM","amp_enabled":true,"_links":{"self":[{"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/posts\/668","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/users\/28485711"}],"replies":[{"embeddable":true,"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/comments?post=668"}],"version-history":[{"count":5,"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/posts\/668\/revisions"}],"predecessor-version":[{"id":681,"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/posts\/668\/revisions\/681"}],"wp:attachment":[{"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/media?parent=668"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/categories?post=668"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/tags?post=668"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}